Bug fix for deletes (max_item 2)
[idzebra-moved-to-github.git] / dict / open.c
index 2a5d322..a4f136a 100644 (file)
@@ -1,10 +1,19 @@
 /*
- * Copyright (C) 1994-1999, Index Data
+ * Copyright (C) 1994-2002, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: open.c,v $
- * Revision 1.15  1999-05-15 14:36:37  adam
+ * Revision 1.18  2002-05-03 13:47:15  adam
+ * make checkergcc happy
+ *
+ * Revision 1.17  2000/12/05 09:59:10  adam
+ * Work on dict_delete_subtree.
+ *
+ * Revision 1.16  1999/05/26 07:49:13  adam
+ * C++ compilation.
+ *
+ * Revision 1.15  1999/05/15 14:36:37  adam
  * Updated dictionary. Implemented "compression" of dictionary.
  *
  * Revision 1.14  1999/03/09 13:07:06  adam
@@ -68,7 +77,7 @@ Dict dict_open (BFiles bfs, const char *name, int cache, int rw,
     char resource_str[80];
     int page_size;
 
-    dict = xmalloc (sizeof(*dict));
+    dict = (Dict) xmalloc (sizeof(*dict));
 
     if (cache < 5)
        cache = 5;
@@ -93,6 +102,7 @@ Dict dict_open (BFiles bfs, const char *name, int cache, int rw,
     }
     if (dict_bf_readp (dict->dbf, 0, &head_buf) <= 0)
     {
+       memset (dict->head.magic_str, 0, sizeof(dict->head.magic_str));
        strcpy (dict->head.magic_str, DICT_MAGIC);
        dict->head.last = 1;
        dict->head.root = 0;
@@ -129,6 +139,11 @@ int dict_strcmp (const Dict_char *s1, const Dict_char *s2)
     return strcmp ((const char *) s1, (const char *) s2);
 }
 
+int dict_strncmp (const Dict_char *s1, const Dict_char *s2, size_t n)
+{
+    return strncmp ((const char *) s1, (const char *) s2, n);
+}
+
 int dict_strlen (const Dict_char *s)
 {
     return strlen((const char *) s);