Put local variables footer in all c, h files.
[idzebra-moved-to-github.git] / dict / open.c
index d43476b..07cf10d 100644 (file)
@@ -1,6 +1,6 @@
-/* $Id: open.c,v 1.20 2004-09-09 09:07:12 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
-   Index Data Aps
+/* $Id: open.c,v 1.25 2006-05-10 08:13:18 adam Exp $
+   Copyright (C) 1995-2005
+   Index Data ApS
 
 This file is part of the Zebra server.
 
@@ -26,7 +26,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include <string.h>
 #include <stdio.h>
 
-#include <dict.h>
+#include "dict-p.h"
 
 Dict dict_open (BFiles bfs, const char *name, int cache, int rw,
                int compact_flag, int page_size)
@@ -43,7 +43,7 @@ Dict dict_open (BFiles bfs, const char *name, int cache, int rw,
     page_size = DICT_DEFAULT_PAGESIZE;
     if (page_size < 2048)
     {
-        logf (LOG_WARN, "Page size for dict %s %d<2048. Set to 2048",
+        yaz_log (YLOG_WARN, "Page size for dict %s %d<2048. Set to 2048",
              name, page_size);
         page_size = 2048;
     }
@@ -52,7 +52,7 @@ Dict dict_open (BFiles bfs, const char *name, int cache, int rw,
 
     if(!dict->dbf)
     {
-        logf (LOG_WARN, "Cannot open `%s'", name);
+        yaz_log (YLOG_WARN, "Cannot open `%s'", name);
         xfree (dict);
         return NULL;
     }
@@ -75,12 +75,14 @@ Dict dict_open (BFiles bfs, const char *name, int cache, int rw,
        memcpy (&dict->head, head_buf, sizeof(dict->head));
         if (strcmp (dict->head.magic_str, DICT_MAGIC))
         {
-            logf (LOG_WARN, "Bad magic of `%s'", name);
-            exit (1);
+            yaz_log (YLOG_WARN, "Bad magic of `%s'", name);
+           dict_bf_close(dict->dbf);
+           xfree(dict);
+           return 0;
         }
         if (dict->head.page_size != page_size)
         {
-            logf (LOG_WARN, "Page size for existing dict %s is %d. Current is %d",
+            yaz_log (YLOG_WARN, "Page size for existing dict %s is %d. Current is %d",
                  name, dict->head.page_size, page_size);
         }
     }
@@ -103,3 +105,11 @@ int dict_strlen (const Dict_char *s)
 {
     return strlen((const char *) s);
 }
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+