Moved the check for PZ_ALLOW
[pazpar2-moved-to-github.git] / src / database.c
index 61131a5..39514d4 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: database.c,v 1.11 2007-04-11 11:13:46 marc Exp $
+/* $Id: database.c,v 1.13 2007-04-11 16:48:09 quinn Exp $
    Copyright (c) 2006-2007, Index Data.
 
 This file is part of Pazpar2.
@@ -241,9 +241,6 @@ static int match_criterion(struct setting **settings, struct database_criterion
 
 int database_match_criteria(struct setting **settings, struct database_criterion *cl)
 {
-    assert(settings);
-    if (settings[PZ_ALLOW] && *settings[PZ_ALLOW]->value == '0')
-        return 0;
     for (; cl; cl = cl->next)
         if (!match_criterion(settings, cl))
             break;
@@ -262,11 +259,15 @@ int session_grep_databases(struct session *se, struct database_criterion *cl,
     int i = 0;
 
     for (p = se->databases; p; p = p->next)
+    {
+        if (p->settings && p->settings[PZ_ALLOW] && *p->settings[PZ_ALLOW]->value == '0')
+            continue;
         if (database_match_criteria(p->settings, cl))
         {
             (*fun)(se, p);
             i++;
         }
+    }
     return i;
 }