X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Ftrunc.c;h=7632b1ec06252e315077e11b3cd11fec4f042301;hb=3db15cf883ad80b6a4b0e960f3c3b59c86b59c6b;hp=531a9c61604bc27de19f7a40f17c8edd567f649a;hpb=b0728a451f81973f750f6a806b566d506a17dbe9;p=idzebra-moved-to-github.git diff --git a/index/trunc.c b/index/trunc.c index 531a9c6..7632b1e 100644 --- a/index/trunc.c +++ b/index/trunc.c @@ -1,10 +1,19 @@ /* - * Copyright (C) 1994-1996, Index Data I/S + * Copyright (C) 1994-1998, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: trunc.c,v $ - * Revision 1.6 1997-09-22 12:39:06 adam + * Revision 1.9 1998-01-12 15:04:09 adam + * The test option (-s) only uses read-lock (and not write lock). + * + * Revision 1.8 1997/10/31 12:34:27 adam + * Bug fix: memory leak. + * + * Revision 1.7 1997/09/29 09:07:29 adam + * Minor change. + * + * Revision 1.6 1997/09/22 12:39:06 adam * Added get_pos method for the ranked result sets. * * Revision 1.5 1997/09/17 12:19:17 adam @@ -103,9 +112,9 @@ static void heap_insert (struct trunc_info *ti, const char *buf, int indx) } } -static -struct trunc_info *heap_init (int size, int key_size, - int (*cmp)(const void *p1, const void *p2)) +static struct trunc_info *heap_init (int size, int key_size, + int (*cmp)(const void *p1, + const void *p2)) { struct trunc_info *ti = xmalloc (sizeof(*ti)); int i; @@ -135,6 +144,7 @@ static void heap_close (struct trunc_info *ti) xfree (ti->heap); xfree (ti->swapbuf); xfree (ti->tmpbuf); + xfree (ti->buf); xfree (ti); } @@ -390,7 +400,10 @@ RSET rset_trunc (ZServerInfo *zi, ISAM_P *isam_p, int no) qsort (isam_p, no, sizeof(*isam_p), isamc_trunc_cmp); } else - logf (LOG_FATAL, "Neither isam nor isamc set in rset_trunc"); + { + logf (LOG_WARN, "Neither isam nor isamc set in rset_trunc"); + return rset_create (rset_kind_null, NULL); + } return rset_trunc_r (zi, isam_p, 0, no, 100); }