Work on dict_compact routine.
[idzebra-moved-to-github.git] / dict / lookup.c
index 8719af7..b7dd51c 100644 (file)
@@ -1,10 +1,23 @@
 /*
- * Copyright (C) 1994, Index Data I/S 
+ * Copyright (C) 1994-1999, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: lookup.c,v $
- * Revision 1.5  1995-09-04 09:09:15  adam
+ * Revision 1.9  1999-02-02 14:50:25  adam
+ * Updated WIN32 code specific sections. Changed header.
+ *
+ * Revision 1.8  1998/03/05 08:17:24  adam
+ * Added a few comments - no code changed.
+ *
+ * Revision 1.7  1996/02/02 13:43:51  adam
+ * The public functions simply use char instead of Dict_char to represent
+ * search strings. Dict_char is used internally only.
+ *
+ * Revision 1.6  1995/12/11  09:04:50  adam
+ * Bug fix: the lookup/scan/lookgrep didn't handle empty dictionary.
+ *
+ * Revision 1.5  1995/09/04  09:09:15  adam
  * String arg in lookup is const.
  *
  * Revision 1.4  1994/10/05  12:16:51  adam
@@ -52,7 +65,8 @@ static char *dict_look (Dict dict, const Dict_char *str)
             info = (char*)p + indxp[-mid];
             cmp = dict_strcmp((Dict_char*) info, str);
             if (!cmp)
-                return info+(dict_strlen (info)+1)*sizeof(Dict_char);
+                return info+(dict_strlen ((Dict_char*) info)+1)
+                    *sizeof(Dict_char);
         }
         else
         {
@@ -97,11 +111,11 @@ static char *dict_look (Dict dict, const Dict_char *str)
     return NULL;
 }
 
-char *dict_lookup (Dict dict, const Dict_char *p)
+char *dict_lookup (Dict dict, const char *p)
 {
-    if (dict->head.last == 1)
+    if (dict->head.last <= 1)
         return NULL;
-    return dict_look (dict, p);
+    return dict_look (dict, (const Dict_char *) p);
 }