X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fkcompare.c;h=f38f9486052e9755e4730ed291cecb50b43fe8be;hb=b8844c65622c12fb105bf7fc6bab2fc237af7c14;hp=c32998e3c8fc88c57ccaa3a6c5136fafe6c27bc6;hpb=6617321a09d4d5bf442feaea2d7f1347acd82e3c;p=idzebra-moved-to-github.git diff --git a/index/kcompare.c b/index/kcompare.c index c32998e..f38f948 100644 --- a/index/kcompare.c +++ b/index/kcompare.c @@ -1,10 +1,22 @@ /* - * Copyright (C) 1994-1995, Index Data I/S + * Copyright (C) 1994-1996, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: kcompare.c,v $ - * Revision 1.13 1995-10-27 14:00:11 adam + * Revision 1.17 1996-06-04 10:18:58 adam + * Minor changes - removed include of ctype.h. + * + * Revision 1.16 1996/05/13 14:23:05 adam + * Work on compaction of set/use bytes in dictionary. + * + * Revision 1.15 1995/11/20 16:59:46 adam + * New update method: the 'old' keys are saved for each records. + * + * Revision 1.14 1995/10/30 15:08:08 adam + * Bug fixes. + * + * Revision 1.13 1995/10/27 14:00:11 adam * Implemented detection of database availability. * * Revision 1.12 1995/10/17 18:02:08 adam @@ -55,7 +67,6 @@ #include #include #include -#include #include #include "index.h" @@ -70,26 +81,28 @@ void key_logdump (int logmask, const void *p) int key_compare (const void *p1, const void *p2) { - const struct it_key *i1 = p1, *i2 = p2; - if (i1->sysno != i2->sysno) + struct it_key i1, i2; + memcpy (&i1, p1, sizeof(i1)); + memcpy (&i2, p2, sizeof(i2)); + if (i1.sysno != i2.sysno) { - if (i1->sysno > i2->sysno) + if (i1.sysno > i2.sysno) return 2; else return -2; } #if IT_KEY_HAVE_SEQNO - if (i1->seqno != i2->seqno) + if (i1.seqno != i2.seqno) { - if (i1->seqno > i2->seqno) + if (i1.seqno > i2.seqno) return 1; else return -1; } #else - if (i1->freq != i2->freq) + if (i1.freq != i2.freq) { - if (i1->freq > i2->freq) + if (i1.freq > i2.freq) return 1; else return -1; @@ -113,20 +126,3 @@ int key_qsort_compare (const void *p1, const void *p2) return cp1[l] - cp2[l]; } -int index_char_cvt (int c) -{ - return tolower (c); -} - -int index_word_prefix (char *string, int attset_ordinal, - int local_attribute, - char *databaseName) -{ - int i; - sprintf (string, "%s@%c%04d", databaseName, - attset_ordinal + '0', local_attribute); - for (i = 0; string[i]; i++) - string[i] = index_char_cvt (string[i]); - return i; -} -