Use HAVE_UNISTD_H when including unistd.h.
[idzebra-moved-to-github.git] / index / kinput.c
index 06607ff..23d9366 100644 (file)
@@ -1,6 +1,6 @@
-/* $Id: kinput.c,v 1.62 2004-09-15 08:13:51 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
-   Index Data Aps
+/* $Id: kinput.c,v 1.66 2005-06-14 20:28:54 adam Exp $
+   Copyright (C) 1995-2005
+   Index Data ApS
 
 This file is part of the Zebra server.
 
@@ -23,7 +23,8 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #include <fcntl.h>
 #ifdef WIN32
 #include <io.h>
-#else
+#endif
+#if HAVE_UNISTD_H
 #include <unistd.h>
 #endif
 #include <stdlib.h>
@@ -82,21 +83,21 @@ void key_file_chunk_read (struct key_file *f)
     f->buf_size = 0;
     if (fd == -1)
     {
-        logf (LOG_WARN|LOG_ERRNO, "cannot open %s", fname);
+        yaz_log (YLOG_WARN|YLOG_ERRNO, "cannot open %s", fname);
        return ;
     }
     if (!f->length)
     {
         if ((f->length = lseek (fd, 0L, SEEK_END)) == (off_t) -1)
         {
-            logf (LOG_WARN|LOG_ERRNO, "cannot seek %s", fname);
+            yaz_log (YLOG_WARN|YLOG_ERRNO, "cannot seek %s", fname);
            close (fd);
            return ;
         }
     }
     if (lseek (fd, f->offset, SEEK_SET) == -1)
     {
-        logf (LOG_WARN|LOG_ERRNO, "cannot seek %s", fname);
+        yaz_log (YLOG_WARN|YLOG_ERRNO, "cannot seek %s", fname);
        close(fd);
        return ;
     }
@@ -109,7 +110,7 @@ void key_file_chunk_read (struct key_file *f)
     }
     if (r == -1)
     {
-        logf (LOG_WARN|LOG_ERRNO, "read of %s", fname);
+        yaz_log (YLOG_WARN|YLOG_ERRNO, "read of %s", fname);
        close (fd);
        return;
     }
@@ -288,8 +289,8 @@ struct heap_info *key_heap_init_buff ( ZebraHandle zh,
 void key_heap_destroy (struct heap_info *hi, int nkeys)
 {
     int i;
-    yaz_log (LOG_DEBUG, "key_heap_destroy");
-    yaz_log (LOG_DEBUG, "key_heap_destroy nk=%d",nkeys);
+    yaz_log (YLOG_DEBUG, "key_heap_destroy");
+    yaz_log (YLOG_DEBUG, "key_heap_destroy nk=%d",nkeys);
     if (!hi->zh)
         for (i = 0; i<=nkeys; i++)
             xfree (hi->info.buf[i]);
@@ -363,7 +364,7 @@ static int heap_read_one_raw (struct heap_info *hi, char *name, char *key)
         return 0;
     --(zh->reg->ptr_i);
     cp=(zh->reg->key_buf)[zh->reg->ptr_top - ptr_i];
-    logf (LOG_DEBUG, " raw: i=%ld top=%ld cp=%p", (long) ptr_i,
+    yaz_log (YLOG_DEBUG, " raw: i=%ld top=%ld cp=%p", (long) ptr_i,
          (long) zh->reg->ptr_top, cp);
     strcpy(name, cp);
     memcpy(key, cp+strlen(name)+1, KEY_SIZE);
@@ -546,7 +547,7 @@ int heap_inpc (struct heap_info *hi)
     while (hci.more)
     {
         char this_name[INP_NAME_MAX];
-        ISAMC_P isamc_p, isamc_p2;
+        ISAM_P isamc_p, isamc_p2;
         char *dict_info;
 
         strcpy (this_name, hci.cur_name);
@@ -554,8 +555,9 @@ int heap_inpc (struct heap_info *hi)
         hi->no_diffs++;
         if ((dict_info = dict_lookup (hi->reg->dict, hci.cur_name)))
         {
-            memcpy (&isamc_p, dict_info+1, sizeof(ISAMC_P));
-            isamc_p2 = isc_merge (hi->reg->isamc, isamc_p, isamc_i);
+            memcpy (&isamc_p, dict_info+1, sizeof(ISAM_P));
+           isamc_p2 = isamc_p;
+            isamc_merge (hi->reg->isamc, &isamc_p2, isamc_i);
             if (!isamc_p2)
             {
                 hi->no_deletions++;
@@ -567,14 +569,15 @@ int heap_inpc (struct heap_info *hi)
                 hi->no_updates++;
                 if (isamc_p2 != isamc_p)
                     dict_insert (hi->reg->dict, this_name,
-                                 sizeof(ISAMC_P), &isamc_p2);
+                                 sizeof(ISAM_P), &isamc_p2);
             }
         } 
         else
         {
-            isamc_p = isc_merge (hi->reg->isamc, 0, isamc_i);
+           isamc_p = 0;
+           isamc_merge (hi->reg->isamc, &isamc_p, isamc_i);
             hi->no_insertions++;
-            dict_insert (hi->reg->dict, this_name, sizeof(ISAMC_P), &isamc_p);
+            dict_insert (hi->reg->dict, this_name, sizeof(ISAM_P), &isamc_p);
         }
     }
     xfree (isamc_i);
@@ -603,7 +606,7 @@ static void print_dict_item (ZebraMaps zm, const char *s)
                 *to++ = *res++;
     }
     *to = '\0';
-    yaz_log (LOG_LOG, "%s", keybuf);
+    yaz_log (YLOG_LOG, "%s", keybuf);
 }
 #endif
 
@@ -626,7 +629,7 @@ int heap_inpb (struct heap_info *hi)
     while (hci.more)
     {
         char this_name[INP_NAME_MAX];
-        ISAMC_P isamc_p, isamc_p2;
+        ISAM_P isamc_p, isamc_p2;
         char *dict_info;
 
         strcpy (this_name, hci.cur_name);
@@ -638,8 +641,9 @@ int heap_inpb (struct heap_info *hi)
 #endif
         if ((dict_info = dict_lookup (hi->reg->dict, hci.cur_name)))
         {
-            memcpy (&isamc_p, dict_info+1, sizeof(ISAMC_P));
-            isamc_p2 = isamb_merge (hi->reg->isamb, isamc_p, isamc_i);
+            memcpy (&isamc_p, dict_info+1, sizeof(ISAM_P));
+           isamc_p2 = isamc_p;
+            isamb_merge (hi->reg->isamb, &isamc_p2, isamc_i);
             if (!isamc_p2)
             {
                 hi->no_deletions++;
@@ -651,14 +655,15 @@ int heap_inpb (struct heap_info *hi)
                 hi->no_updates++;
                 if (isamc_p2 != isamc_p)
                     dict_insert (hi->reg->dict, this_name,
-                                 sizeof(ISAMC_P), &isamc_p2);
+                                 sizeof(ISAM_P), &isamc_p2);
             }
         } 
         else
         {
-            isamc_p = isamb_merge (hi->reg->isamb, 0, isamc_i);
+           isamc_p = 0;
+            isamb_merge (hi->reg->isamb, &isamc_p, isamc_i);
             hi->no_insertions++;
-            dict_insert (hi->reg->dict, this_name, sizeof(ISAMC_P), &isamc_p);
+            dict_insert (hi->reg->dict, this_name, sizeof(ISAM_P), &isamc_p);
         }
     }
     xfree (isamc_i);
@@ -687,7 +692,7 @@ int heap_inps (struct heap_info *hi)
     while (hci.more)
     {
         char this_name[INP_NAME_MAX];
-        ISAMS_P isams_p;
+        ISAM_P isams_p;
         char *dict_info;
 
         strcpy (this_name, hci.cur_name);
@@ -697,11 +702,11 @@ int heap_inps (struct heap_info *hi)
         {
             isams_p = isams_merge (hi->reg->isams, isams_i);
             hi->no_insertions++;
-            dict_insert (hi->reg->dict, this_name, sizeof(ISAMS_P), &isams_p);
+            dict_insert (hi->reg->dict, this_name, sizeof(ISAM_P), &isams_p);
         }
        else
        {
-           logf (LOG_FATAL, "isams doesn't support this kind of update");
+           yaz_log (YLOG_FATAL, "isams doesn't support this kind of update");
            break;
        }
     }
@@ -731,10 +736,10 @@ void progressFunc (struct key_file *keyp, void *info)
         remaining = (time_t) ((now - p->startTime)*
             ((double) p->totalBytes/p->totalOffset - 1.0));
         if (remaining <= 130)
-            logf (LOG_LOG, "Merge %2.1f%% completed; %ld seconds remaining",
+            yaz_log (YLOG_LOG, "Merge %2.1f%% completed; %ld seconds remaining",
                  (100.0*p->totalOffset) / p->totalBytes, (long) remaining);
         else
-            logf (LOG_LOG, "Merge %2.1f%% completed; %ld minutes remaining",
+            yaz_log (YLOG_LOG, "Merge %2.1f%% completed; %ld minutes remaining",
                 (100.0*p->totalOffset) / p->totalBytes, (long) remaining/60);
     }
     p->totalOffset += keyp->buf_size;
@@ -754,7 +759,7 @@ void zebra_index_merge (ZebraHandle zh)
     int nkeys = zh->reg->key_file_no;
     int usefile; 
     
-    logf (LOG_DEBUG, " index_merge called with nk=%d b=%p", 
+    yaz_log (YLOG_DEBUG, " index_merge called with nk=%d b=%p", 
                     nkeys, zh->reg->key_buf);
     if ( (nkeys==0) && (zh->reg->key_buf==0) )
         return; /* nothing to merge - probably flush after end-trans */
@@ -822,11 +827,11 @@ void zebra_index_merge (ZebraHandle zh)
     }
     if (hi->no_iterations)
     { /* do not log if nothing happened */
-        logf (LOG_LOG, "Iterations . . .%7d", hi->no_iterations);
-        logf (LOG_LOG, "Distinct words .%7d", hi->no_diffs);
-        logf (LOG_LOG, "Updates. . . . .%7d", hi->no_updates);
-        logf (LOG_LOG, "Deletions. . . .%7d", hi->no_deletions);
-        logf (LOG_LOG, "Insertions . . .%7d", hi->no_insertions);
+        yaz_log (YLOG_LOG, "Iterations . . .%7d", hi->no_iterations);
+        yaz_log (YLOG_LOG, "Distinct words .%7d", hi->no_diffs);
+        yaz_log (YLOG_LOG, "Updates. . . . .%7d", hi->no_updates);
+        yaz_log (YLOG_LOG, "Deletions. . . .%7d", hi->no_deletions);
+        yaz_log (YLOG_LOG, "Insertions . . .%7d", hi->no_insertions);
     }
     zh->reg->key_file_no = 0;