Fixed bug regarding online updates on WIN32.
[idzebra-moved-to-github.git] / util / res.c
index b21e706..d3307e7 100644 (file)
@@ -4,7 +4,17 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: res.c,v $
- * Revision 1.25  1999-05-26 07:49:14  adam
+ * Revision 1.28  2000-12-01 17:59:08  adam
+ * Fixed bug regarding online updates on WIN32.
+ * When zebra.cfg is not available the server will not abort.
+ *
+ * Revision 1.27  1999/11/30 13:48:04  adam
+ * Improved installation. Updated for inclusion of YAZ header files.
+ *
+ * Revision 1.26  1999/10/07 09:48:36  adam
+ * Allow res_get / res_get_def with NULL res.
+ *
+ * Revision 1.25  1999/05/26 07:49:14  adam
  * C++ compilation.
  *
  * Revision 1.24  1999/02/02 14:51:42  adam
 #endif
 
 #include <zebrautl.h>
-#include <yaz-util.h>
+#include <yaz/yaz-util.h>
 
 static struct res_entry *add_entry (Res r)
 {
@@ -240,7 +250,8 @@ Res res_open (const char *name)
 
 void res_close (Res r)
 {
-    assert (r);
+    if (!r)
+        return;
     if (r->init)
     {
         struct res_entry *re, *re1;
@@ -262,7 +273,8 @@ char *res_get (Res r, const char *name)
 {
     struct res_entry *re;
 
-    assert (r);
+    if (!r)
+       return NULL;
     if (!r->init)
         reread (r);
     for (re = r->first; re; re=re->next)
@@ -288,6 +300,8 @@ int res_get_match (Res r, const char *name, const char *value, const char *s)
 {
     const char *cn = res_get (r, name);
 
+    if (!cn)
+       cn = s;
     if (cn && !yaz_matchstr (cn, value))
         return 1;
     return 0;
@@ -319,7 +333,8 @@ int res_trav (Res r, const char *prefix, void *p,
     int l = 0;
     int no = 0;
     
-    assert (r);
+    if (!r)
+        return 0;
     if (prefix)
         l = strlen(prefix);
     if (!r->init)