Omit CVS Id. Update copyright year.
[idzebra-moved-to-github.git] / index / kinput.c
index 9101fa7..5745116 100644 (file)
@@ -1,8 +1,5 @@
-/* $Id: kinput.c,v 1.86 2007-10-31 16:56:14 adam Exp $
-   Copyright (C) 1995-2007
-   Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+   Copyright (C) 1995-2008 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
@@ -36,8 +33,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 #define KEY_SIZE (1+sizeof(struct it_key))
 #define INP_NAME_MAX 768
-#define INP_BUF_START 60000
-#define INP_BUF_ADD  400000
 
 struct key_file {
     int   no;            /* file no */
@@ -188,8 +183,12 @@ int key_file_read(struct key_file *f, char *key)
     {
         i = 0;
         key[i++] = c;
-        while ((key[i++] = key_file_getc(f)))
-            ;
+        while ((c = key_file_getc(f)))
+        {
+            if (i < IT_MAX_WORD)
+                key[i++] = c;
+        }
+        key[i++] = '\0';
         strcpy(f->prev_name, key);
        iscz1_reset(f->decode_handle);
     }
@@ -224,7 +223,6 @@ struct heap_info {
     int    (*cmp)(const void *p1, const void *p2);
     struct zebra_register *reg;
     ZebraHandle zh;
-    int raw_reading; /* 1=raw /mem read. 0=file reading */
     zint no_diffs;
     zint no_updates;
     zint no_deletions;
@@ -240,7 +238,6 @@ static struct heap_info *key_heap_malloc(void)
     hi->info.buf = 0;
     hi->heapnum = 0;
     hi->ptr = 0;
-    hi->raw_reading = 0;
     hi->no_diffs = 0;
     hi->no_diffs = 0;
     hi->no_updates = 0;
@@ -272,23 +269,11 @@ struct heap_info *key_heap_init_file(ZebraHandle zh,
     return hi;
 }
 
-struct heap_info *key_heap_init_raw(ZebraHandle zh,
-                                   int (*cmp)(const void *p1, const void *p2))
-{
-    struct heap_info *hi=key_heap_malloc();
-    hi->cmp = cmp;
-    hi->zh = zh;
-    hi->raw_reading = 1;
-    return hi;
-}
-
 void key_heap_destroy(struct heap_info *hi, int nkeys)
 {
     int i;
-    if (!hi->raw_reading)
-        for (i = 0; i<=nkeys; i++)
-            xfree(hi->info.buf[i]);
-    
+    for (i = 0; i<=nkeys; i++)
+        xfree(hi->info.buf[i]);
     xfree(hi->info.buf);
     xfree(hi->ptr);
     xfree(hi->info.file);
@@ -596,26 +581,6 @@ int heap_inpc(struct heap_cread_info *hci, struct heap_info *hi)
     return 0;
 } 
 
-int heap_inp0(struct heap_cread_info *hci, struct heap_info *hi)
-{
-    while (hci->more)
-    {
-        char this_name[INP_NAME_MAX];
-       char mybuf[1024];
-       char *dst = mybuf;
-       int mode;
-
-        strcpy(this_name, hci->cur_name);
-       assert(hci->cur_name[0]);
-        hi->no_diffs++;
-
-       while (heap_cread_item2(hci, &dst, &mode))
-           ;
-    }
-    return 0;
-} 
-
-
 int heap_inpb(struct heap_cread_info *hci, struct heap_info *hi)
 {
     ISAMC_I *isamc_i = (ISAMC_I *) xmalloc(sizeof(*isamc_i));