Remove abs path
[pazpar2-moved-to-github.git] / src / settings.c
index 5b23e7a..83441d5 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of Pazpar2.
-   Copyright (C) 2006-2009 Index Data
+   Copyright (C) 2006-2010 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
@@ -67,6 +67,8 @@ static char *hard_settings[] = {
     "pz:pqf_prefix",
     "pz:sort",
     "pz:recordfilter",
+    "pz:pqf_strftime",
+    "pz:negotiation_charset",
     0
 };
 
@@ -362,7 +364,7 @@ static void update_database(void *context, struct database *db)
                 // target-specific value trumps wildcard. Delete.
                 *sp = (*sp)->next; // unlink.....
             }
-            else if (!zurl_wildcard((*sp)->target))
+            else if (zurl_wildcard((*sp)->target) < zurl_wildcard(set->target))
                 // Db already contains higher-priority setting. Abort search
                 break;
             else
@@ -392,7 +394,7 @@ static void update_databases(void *client_data, struct setting *set)
     struct update_database_context context;
     context.set = set;
     context.service = service;
-    predef_grep_databases(&context, service, 0, update_database);
+    predef_grep_databases(&context, service, update_database);
 }
 
 // This simply copies the 'hard' (application-specific) settings
@@ -433,7 +435,7 @@ static void prepare_target_dictionary(void *client_data, struct setting *set)
 
     // If target address is not wildcard, add the database
     if (*set->target && !zurl_wildcard(set->target))
-        find_database(set->target, 0, service);
+        find_database(set->target, service);
 
     // Determine if we already have a dictionary entry
     if (!strncmp(set->name, "pz:", 3) && (p = strchr(set->name + 3, ':')))