X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fdatabase.c;h=2064feebf2064c09228cb3bb9cc657f4c8511682;hb=64dccf5757a22cedd3c21ca834e3e02f39dd0504;hp=a29fc0631a9d5af621ba13bd611f5177666e24e7;hpb=8961ed761e348e972f00d015284ce75c16b1648c;p=pazpar2-moved-to-github.git diff --git a/src/database.c b/src/database.c index a29fc06..2064fee 100644 --- a/src/database.c +++ b/src/database.c @@ -1,5 +1,5 @@ /* This file is part of Pazpar2. - Copyright (C) 2006-2012 Index Data + Copyright (C) Index Data Pazpar2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -29,7 +29,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "ppmutex.h" #include "session.h" -#include "host.h" #include "pazpar2_config.h" #include "settings.h" #include "http.h" @@ -201,11 +200,18 @@ static struct database_criterion *create_database_criterion(NMEM m, int subi; struct database_criterion *new = nmem_malloc(m, sizeof(*new)); char *eq; - if ((eq = strchr(values[i], '='))) - new->type = PAZPAR2_STRING_MATCH; - else if ((eq = strchr(values[i], '~'))) - new->type = PAZPAR2_SUBSTRING_MATCH; - else + for (eq = values[i]; *eq; eq++) + if (*eq == '=') + { + new->type = PAZPAR2_STRING_MATCH; + break; + } + else if (*eq == '~') + { + new->type = PAZPAR2_SUBSTRING_MATCH; + break; + } + if (!*eq) { yaz_log(YLOG_WARN, "Missing equal-sign/tilde in filter"); return 0;