Updated WIN32 code specific sections. Changed header.
[idzebra-moved-to-github.git] / dict / delete.c
index d65efaa..599ccd4 100644 (file)
@@ -1,10 +1,21 @@
 /*
- * Copyright (C) 1994, Index Data I/S 
+ * Copyright (C) 1994-1999, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: delete.c,v $
- * Revision 1.2  1995-12-06 17:48:30  adam
+ * Revision 1.5  1999-02-02 14:50:17  adam
+ * Updated WIN32 code specific sections. Changed header.
+ *
+ * Revision 1.4  1996/02/02 13:43:50  adam
+ * The public functions simply use char instead of Dict_char to represent
+ * search strings. Dict_char is used internally only.
+ *
+ * Revision 1.3  1995/12/07  11:48:55  adam
+ * Insert operation obeys DICT_type = 1 (slack in page).
+ * Function dict_open exists if page size or magic aren't right.
+ *
+ * Revision 1.2  1995/12/06  17:48:30  adam
  * Bug fix: delete didn't work.
  *
  * Revision 1.1  1995/12/06  14:52:21  adam
@@ -50,6 +61,7 @@ static int dict_del (Dict dict, const Dict_char *str)
                     indxp[-mid] = indxp[-mid-1];
                     mid++;
                 }
+                DICT_type(p) = 1;
                 (DICT_nodir(p))--;
                 dict_bf_touch (dict->dbf, ptr);
                 return 1;
@@ -75,6 +87,7 @@ static int dict_del (Dict dict, const Dict_char *str)
                     if (info[sizeof(Dict_ptr)+sizeof(Dict_char)])
                     {
                         info[sizeof(Dict_ptr)+sizeof(Dict_char)] = 0;
+                        DICT_type(p) = 1;
                         dict_bf_touch (dict->dbf, ptr);
                         return 1;
                     }
@@ -102,9 +115,9 @@ static int dict_del (Dict dict, const Dict_char *str)
     return 0;
 }
 
-int dict_delete (Dict dict, const Dict_char *p)
+int dict_delete (Dict dict, const char *p)
 {
     if (dict->head.last == 1)
         return 0;
-    return dict_del (dict, p);
+    return dict_del (dict, (const Dict_char*) p);
 }