X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fkcompare.c;h=c4ca9853ee68d0e05423a6ba31bf3be61aa8981b;hb=d089fa72c83a673c788d828687dbec88fe9d1c4a;hp=eaf4d33b4fd17c781b6c5539496572e4733fb744;hpb=67700507285e0823f80e097fa0b1aae5968451bb;p=idzebra-moved-to-github.git diff --git a/index/kcompare.c b/index/kcompare.c index eaf4d33..c4ca985 100644 --- a/index/kcompare.c +++ b/index/kcompare.c @@ -1,6 +1,6 @@ -/* $Id: kcompare.c,v 1.53 2004-11-04 11:47:23 heikki Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps +/* $Id: kcompare.c,v 1.59 2006-07-04 14:10:30 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -33,9 +33,11 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define CODEC_INLINE #endif -void key_logdump_txt (int logmask, const void *p, const char *txt) +void key_logdump_txt(int logmask, const void *p, const char *txt) { struct it_key key; + if (!txt) + txt = "(none)"; if (p) { char formstr[128]; @@ -50,13 +52,13 @@ void key_logdump_txt (int logmask, const void *p, const char *txt) strcat(formstr, "."); sprintf(formstr + strlen(formstr), ZINT_FORMAT, key.mem[i]); } - logf (logmask, "%s %s", formstr, txt); + yaz_log(logmask, "%s %s", formstr, txt); } else - logf(logmask, " (null) %s",txt); + yaz_log(logmask, " (no key) %s",txt); } -void key_logdump (int logmask, const void *p) +void key_logdump(int logmask, const void *p) { key_logdump_txt(logmask, p, ""); } @@ -116,6 +118,13 @@ zint key_get_seq(const void *p) return k.mem[k.len-1]; } +zint key_get_segment(const void *p) +{ + struct it_key k; + memcpy (&k, p, sizeof(k)); + return k.mem[k.len-1] / KEY_SEGMENT_SIZE; +} + int key_qsort_compare (const void *p1, const void *p2) { int r; @@ -281,7 +290,7 @@ ISAMS_M *key_isams_m (Res res, ISAMS_M *me) ISAMC_M *key_isamc_m (Res res, ISAMC_M *me) { - isc_getmethod (me); + isamc_getmethod (me); me->compare_item = key_compare; me->log_item = key_logdump_txt; @@ -336,3 +345,11 @@ int key_SU_decode (int *ch, const unsigned char *out) return len; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +