Added several type casts and changed many types - mostly from int to zint.
[idzebra-moved-to-github.git] / index / kcompare.c
index e874af1..b1d8e93 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: kcompare.c,v 1.47 2004-08-04 08:35:23 adam Exp $
+/* $Id: kcompare.c,v 1.50 2004-08-06 12:28:22 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
    Index Data Aps
 
@@ -33,7 +33,12 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #define INT_CODEC_NEW 0
 #endif
 
+#ifdef __GNUC__
 #define CODEC_INLINE inline
+#else
+#define CODEC_INLINE
+#endif
+
 void key_logdump_txt (int logmask, const void *p, const char *txt)
 {
     struct it_key key;
@@ -118,10 +123,13 @@ char *key_print_it (const void *p, char *buf)
 int key_compare (const void *p1, const void *p2)
 {
     struct it_key i1, i2;
+#if IT_KEY_NEW
+    int i, l;
+#endif
     memcpy (&i1, p1, sizeof(i1));
     memcpy (&i2, p2, sizeof(i2));
 #if IT_KEY_NEW
-    int i, l = i1.len;
+    l = i1.len;
     if (i2.len > l)
        l = i2.len;
     assert (l <= 4 && l > 0);
@@ -159,7 +167,7 @@ int key_get_seq(const void *p)
     struct it_key k;
     memcpy (&k, p, sizeof(k));
 #if IT_KEY_NEW
-    return k.mem[k.len-1];
+    return (int) k.mem[k.len-1];
 #else
     return k.seqno;
 #endif
@@ -229,10 +237,10 @@ static CODEC_INLINE void iscz1_encode_int (zint d, char **dst)
 
     while (d > 127)
     {
-        *bp++ = 128 | (d & 127);
+        *bp++ = (unsigned) (128 | (d & 127));
        d = d >> 7;
     }
-    *bp++ = d;
+    *bp++ = (unsigned) d;
     *dst = (char *) bp;
 }
 
@@ -386,7 +394,7 @@ void iscz1_decode (void *vp, char **dst, const char **src)
 #endif
     
 #if IT_KEY_NEW
-    int leader = iscz1_decode_int ((unsigned char **) src);
+    int leader = (int) iscz1_decode_int ((unsigned char **) src);
     i = leader & 7;
     if (leader & 64)
        p->key.mem[i] += iscz1_decode_int ((unsigned char **) src);