X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fextract.c;h=711e3606a9289cb4ae15307b6535a9ba0c6fa4e3;hb=5260b5390d8a1a36c66e52083e8ebb9d26b49f01;hp=f0f3d1257a3838ddb079e0d822ed739c853c7d1c;hpb=066b33db71d0ad453bf0d53a3fa40a93ec9445e0;p=idzebra-moved-to-github.git diff --git a/index/extract.c b/index/extract.c index f0f3d12..711e360 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1,10 +1,22 @@ /* - * Copyright (C) 1994-1998, Index Data I/S + * Copyright (C) 1994-1998, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: extract.c,v $ - * Revision 1.84 1998-06-11 15:42:22 adam + * Revision 1.87 1998-10-15 13:10:33 adam + * Fixed bug in Zebra that caused it to stop indexing when empty + * record was read. + * + * Revision 1.86 1998/10/13 20:33:53 adam + * Fixed one log message and change use ordinal to be an unsigned char. + * + * Revision 1.85 1998/09/22 10:03:41 adam + * Changed result sets to be persistent in the sense that they can + * be re-searched if needed. + * Fixed memory leak in rsm_or. + * + * Revision 1.84 1998/06/11 15:42:22 adam * Changed the way use attributes are specified in the recordId * specification. * @@ -607,8 +619,8 @@ static struct recKeys { static void addIndexString (RecWord *p, const char *string, int length) { char *dst; - char attrSet; - short attrUse; + unsigned char attrSet; + unsigned short attrUse; int lead = 0; int diff = 0; int *pseqno = &p->seqnos[p->reg_type]; @@ -682,9 +694,10 @@ static void addSortString (RecWord *p, const char *string, int length) sk->next = sortKeys; sortKeys = sk; - sk->string = xmalloc (p->length); - sk->length = p->length; - memcpy (sk->string, p->string, p->length); + sk->string = xmalloc (length); + sk->length = length; + memcpy (sk->string, string, length); + sk->attrSet = p->attrSet; sk->attrUse = p->attrUse; } @@ -815,8 +828,8 @@ static void flushSortKeys (SYSNO sysno, int cmd) static void flushRecordKeys (SYSNO sysno, int cmd, struct recKeys *reckeys) { - char attrSet = -1; - short attrUse = -1; + unsigned char attrSet = (unsigned char) -1; + unsigned short attrUse = (unsigned short) -1; int seqno = 0; int off = 0; @@ -1248,7 +1261,7 @@ static int recordExtract (SYSNO *sysno, const char *fname, return 1; logf (LOG_WARN, "No keys generated for file %s", fname); logf (LOG_WARN, " The file is probably empty"); - return 0; + return 1; } } @@ -1421,8 +1434,8 @@ static int recordExtract (SYSNO *sysno, const char *fname, rec->info[recInfo_storeData] = xmalloc (recordAttr->recordSize); if (lseek (fi->fd, recordOffset, SEEK_SET) < 0) { - logf (LOG_ERRNO|LOG_FATAL, "seek to %ld in %s", fname, - (long) recordOffset); + logf (LOG_ERRNO|LOG_FATAL, "seek to %ld in %s", + (long) recordOffset, fname); exit (1); } if (read (fi->fd, rec->info[recInfo_storeData], recordAttr->recordSize)