Return error (0) rather than exit for bad dict header (magic)
[idzebra-moved-to-github.git] / dict / open.c
index d361619..27ff9da 100644 (file)
@@ -1,6 +1,6 @@
-/* $Id: open.c,v 1.22 2004-12-08 12:23:08 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
-   Index Data Aps
+/* $Id: open.c,v 1.24 2006-03-26 14:03:18 adam Exp $
+   Copyright (C) 1995-2005
+   Index Data ApS
 
 This file is part of the Zebra server.
 
@@ -76,7 +76,9 @@ Dict dict_open (BFiles bfs, const char *name, int cache, int rw,
         if (strcmp (dict->head.magic_str, DICT_MAGIC))
         {
             yaz_log (YLOG_WARN, "Bad magic of `%s'", name);
-            exit (1);
+           dict_bf_close(dict->dbf);
+           xfree(dict);
+           return 0;
         }
         if (dict->head.page_size != page_size)
         {