X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindex.c;h=979d067be1b7977432167e95fd4fbb3f79c2c364;hb=9167923869bcb07faf7e357c883f070be098c66e;hp=44de12b31aa0ff3d8490815da3d54e295739f050;hpb=62f6cad37f14a19d9c1ce763ea54a61b350c7881;p=idzebra-moved-to-github.git diff --git a/index/recindex.c b/index/recindex.c index 44de12b..979d067 100644 --- a/index/recindex.c +++ b/index/recindex.c @@ -1,10 +1,25 @@ /* - * Copyright (C) 1994-1995, Index Data I/S + * Copyright (C) 1994-1996, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: recindex.c,v $ - * Revision 1.13 1995-12-11 09:12:49 adam + * Revision 1.17 1997-02-12 20:39:46 adam + * Implemented options -f that limits the log to the first + * records. + * Changed some log messages also. + * + * Revision 1.16 1996/06/04 10:19:00 adam + * Minor changes - removed include of ctype.h. + * + * Revision 1.15 1996/05/13 14:23:06 adam + * Work on compaction of set/use bytes in dictionary. + * + * Revision 1.14 1996/02/01 20:48:15 adam + * The total size of records are always checked in rec_cache_insert to + * reduce memory usage. + * + * Revision 1.13 1995/12/11 09:12:49 adam * The rec_get function returns NULL if record doesn't exist - will * happen in the server if the result set records have been deleted since * the creation of the set (i.e. the search). @@ -63,7 +78,6 @@ #include #include #include -#include #include "recindxp.h" @@ -370,7 +384,7 @@ static void rec_cache_insert (Records p, Record rec, enum recordCacheFlag flag) if (p->cache_cur == p->cache_max) rec_cache_flush (p, 1); - else if (p->cache_cur > 2) + else if (p->cache_cur > 0) { int i, j; int used = 0; @@ -489,7 +503,7 @@ Record rec_new (Records p) assert (p); rec = xmalloc (sizeof(*rec)); - if (p->head.index_free == 0) + if (1 || p->head.index_free == 0) sysno = (p->head.index_last)++; else { @@ -548,6 +562,9 @@ void rec_put (Records p, Record *recpp) void rec_rm (Record *recpp) { int i; + + if (!*recpp) + return ; for (i = 0; i < REC_NO_INFO; i++) xfree ((*recpp)->info[i]); xfree (*recpp);