nmake: align with pazpar2 WRT icu/libxslt
[idzebra-moved-to-github.git] / isams / isams.c
index 44c4a33..89d3505 100644 (file)
@@ -1,8 +1,5 @@
-/* $Id: isams.c,v 1.6 2004-08-04 08:35:24 adam Exp $
-   Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
-   Index Data Aps
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+   Copyright (C) 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
@@ -15,19 +12,23 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with Zebra; see the file LICENSE.zebra.  If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
 */
 
 
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 #include <stdlib.h>
 #include <assert.h>
 #include <string.h>
 #include <stdio.h>
 
 #include <yaz/log.h>
-#include <isams.h>
+#include <yaz/xmalloc.h>
+#include <idzebra/isams.h>
 
 typedef struct {
     int last_offset;
@@ -45,7 +46,7 @@ struct ISAMS_s {
     int block_size;
     int debug;
     BFile bf;
-}; 
+};
 
 struct ISAMS_PP_s {
     ISAMS is;
@@ -111,7 +112,7 @@ int isams_close (ISAMS is)
     return 0;
 }
 
-ISAMS_P isams_merge (ISAMS is, ISAMS_I data)
+ISAM_P isams_merge (ISAMS is, ISAMS_I data)
 {
     char i_item[128];
     int i_more, i_mode;
@@ -126,7 +127,7 @@ ISAMS_P isams_merge (ISAMS is, ISAMS_I data)
     if (is->head.last_offset > is->block_size)
     {
        if (is->debug > 2)
-           logf (LOG_LOG, "first_block=%d", first_block);
+           yaz_log (YLOG_LOG, "first_block=%d", first_block);
        bf_write(is->bf, is->head.last_block, 0, 0, is->merge_buf);
        (is->head.last_block)++;
        is->head.last_offset -= is->block_size;
@@ -138,13 +139,13 @@ ISAMS_P isams_merge (ISAMS is, ISAMS_I data)
        char *tmp_ptr = i_item;
        i_more = (*data->read_item)(data->clientData, &tmp_ptr, &i_mode);
        assert (i_mode);
-       
+
        if (!i_more)
            break;
        else
        {
            char *r_out_ptr = is->merge_buf + is->head.last_offset;
-           
+
            const char *i_item_ptr = i_item;
            (*is->method->codec.encode)(r_clientData, &r_out_ptr, &i_item_ptr);
            is->head.last_offset = r_out_ptr - is->merge_buf;
@@ -183,21 +184,21 @@ ISAMS_P isams_merge (ISAMS is, ISAMS_I data)
     return first_block * is->block_size + first_offset;
 }
 
-ISAMS_PP isams_pp_open (ISAMS is, ISAMS_P pos)
+ISAMS_PP isams_pp_open (ISAMS is, ISAM_P pos)
 {
     ISAMS_PP pp = (ISAMS_PP) xmalloc (sizeof(*pp));
 
     if (is->debug > 1)
-       logf (LOG_LOG, "isams: isams_pp_open pos=%ld", (long) pos);
+       yaz_log (YLOG_LOG, "isams: isams_pp_open pos=%ld", (long) pos);
     pp->is = is;
     pp->decodeClientData = (*is->method->codec.start)();
     pp->numKeys = 0;
     pp->numRead = 0;
     pp->buf = (char *) xmalloc(is->block_size*2);
-    pp->block_no = pos/is->block_size;
-    pp->block_offset = pos - pp->block_no * is->block_size;
+    pp->block_no = (int) (pos/is->block_size);
+    pp->block_offset = (int) (pos - pp->block_no * is->block_size);
     if (is->debug)
-        logf (LOG_LOG, "isams: isams_pp_open off=%d no=%d",
+        yaz_log (YLOG_LOG, "isams: isams_pp_open off=%d no=%d",
               pp->block_offset, pp->block_no);
     if (pos)
     {
@@ -205,7 +206,7 @@ ISAMS_PP isams_pp_open (ISAMS is, ISAMS_P pos)
        bf_read (is->bf, pp->block_no+1, 0, 0, pp->buf + is->block_size);
        memcpy(&pp->numKeys, pp->buf + pp->block_offset, sizeof(int));
         if (is->debug)
-           logf (LOG_LOG, "isams: isams_pp_open numKeys=%d", pp->numKeys);
+           yaz_log (YLOG_LOG, "isams: isams_pp_open numKeys=%d", pp->numKeys);
        pp->block_offset += sizeof(int);
     }
     return pp;
@@ -245,8 +246,17 @@ int isams_read_item (ISAMS_PP pp, char **dst)
     }
     src = pp->buf + pp->block_offset;
     (*pp->is->method->codec.decode)(pp->decodeClientData, dst, &src);
-    pp->block_offset = src - pp->buf; 
+    pp->block_offset = src - pp->buf;
     return 1;
 }
 
 
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+