Start work on ICU based regexp searches
[idzebra-moved-to-github.git] / index / kinput.c
index f5afa44..851c13e 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the Zebra server.
-   Copyright (C) 1994-2009 Index Data
+   Copyright (C) 1994-2011 Index Data
 
 Zebra is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -17,6 +17,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 */
  
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 #include <fcntl.h>
 #ifdef WIN32
 #include <io.h>
@@ -50,7 +53,12 @@ struct key_file {
     Res res;
 };
 
-#if 0
+
+#define PR_KEY_LOW 0
+#define PR_KEY_TOP 0
+
+#if PR_KEY_LOW || PR_KEY_TOP
+
 static void pkey(const char *b, int mode)
 {
     key_logdump_txt(YLOG_LOG, b, mode ? "i" : "d");
@@ -185,7 +193,7 @@ int key_file_read(struct key_file *f, char *key)
         key[i++] = c;
         while ((c = key_file_getc(f)))
         {
-            if (i <= IT_MAX_WORD)
+            if (i < INP_NAME_MAX-2)
                 key[i++] = c;
         }
         key[i++] = '\0';
@@ -320,6 +328,8 @@ static void key_heap_insert(struct heap_info *hi, const char *buf, int nbytes,
 {
     int cur, parent;
 
+    assert(nbytes < INP_NAME_MAX);
+
     cur = ++(hi->heapnum);
     memcpy(hi->info.buf[hi->ptr[cur]], buf, nbytes);
     hi->info.file[hi->ptr[cur]] = kf;
@@ -354,13 +364,11 @@ static int heap_read_one(struct heap_info *hi, char *name, char *key)
     return 1;
 }
 
-#define PR_KEY_LOW 0
-#define PR_KEY_TOP 0
 
 /* for debugging only */
 void zebra_log_dict_entry(ZebraHandle zh, const char *s)
 {
-    char dst[IT_MAX_WORD+1];
+    char dst[INP_NAME_MAX+1];
     int ord;
     int len = key_SU_decode(&ord, (const unsigned char *) s);
     const char *index_type;
@@ -415,7 +423,7 @@ int heap_cread_item2(void *vp, char **dst, int *insertMode)
            p->look_level++;
        }
        memcpy(*dst, p->key_1, p->sz_1);
-#if 0
+#if PR_KEY_TOP
        yaz_log(YLOG_LOG, "DUP level=%d", p->look_level);
        pkey(*dst, *insertMode);
 #endif
@@ -490,7 +498,8 @@ int heap_cread_item2(void *vp, char **dst, int *insertMode)
     }
     p->look_level = level;
     memcpy(*dst, p->key_1, p->sz_1);
-#if 0
+#if PR_KEY_TOP
+    yaz_log(YLOG_LOG, "TOP");
     pkey(*dst, *insertMode);
 #endif
     (*dst) += p->sz_1;