Version 1.11.0
[pazpar2-moved-to-github.git] / src / database.c
index a29fc06..a23c6fd 100644 (file)
@@ -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
@@ -201,11 +201,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;