From e5652ee69c5a71f19ea16455b48d22a78fb5fcdd Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Wed, 6 Sep 1995 10:33:04 +0000 Subject: [PATCH] More work on present. Some log messages removed. --- index/zrpn.c | 25 +++++++++++++++---------- index/zserver.c | 11 ++++++++++- index/zsets.c | 13 ++++++++++--- 3 files changed, 35 insertions(+), 14 deletions(-) diff --git a/index/zrpn.c b/index/zrpn.c index 17c0dbc..46d7afd 100644 --- a/index/zrpn.c +++ b/index/zrpn.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zrpn.c,v $ - * Revision 1.4 1995-09-05 15:28:40 adam + * Revision 1.5 1995-09-06 10:33:04 adam + * More work on present. Some log messages removed. + * + * Revision 1.4 1995/09/05 15:28:40 adam * More work on search engine. * * Revision 1.3 1995/09/04 15:20:22 adam @@ -27,23 +30,26 @@ #include #include +#include static RSET rpn_search_APT (ZServerInfo *zi, Z_AttributesPlusTerm *zapt) { + char termz[256]; + size_t sizez; struct rset_isam_parms parms; const char *info; Z_Term *term = zapt->term; if (term->which != Z_Term_general) return NULL; - logf (LOG_DEBUG, "dict_lookup: %s", term->u.general->buf); - if (!(info = dict_lookup (zi->wordDict, term->u.general->buf))) - { - rset_temp_parms parms; - - parms.key_size = sizeof(struct it_key); - return rset_create (rset_kind_temp, &parms); - } + sizez = term->u.general->len; + if (sizez > 255) + sizez = 255; + memcpy (termz, term->u.general->buf, sizez); + termz[sizez] = '\0'; + logf (LOG_DEBUG, "dict_lookup: %s", termz); + if (!(info = dict_lookup (zi->wordDict, termz))) + return rset_create (rset_kind_null, NULL); assert (*info == sizeof(parms.pos)); memcpy (&parms.pos, info+1, sizeof(parms.pos)); parms.is = zi->wordIsam; @@ -180,7 +186,6 @@ static RSET rpn_save_set (RSET r, int *count) psysno = key.sysno; (*count)++; } - logf (LOG_DEBUG, "lllllllllllllllll"); #if 0 rset_write (d, &key); #endif diff --git a/index/zserver.c b/index/zserver.c index 61e4bd6..8fa470f 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zserver.c,v $ - * Revision 1.3 1995-09-05 15:28:40 adam + * Revision 1.4 1995-09-06 10:33:04 adam + * More work on present. Some log messages removed. + * + * Revision 1.3 1995/09/05 15:28:40 adam * More work on search engine. * * Revision 1.2 1995/09/04 12:33:43 adam @@ -107,6 +110,12 @@ bend_fetchresult *bend_fetch (void *handle, bend_fetchrequest *q, int *num) r.errcode = 13; return &r; } + if (!records[0].buf) + { + r.errcode = 13; + logf (LOG_DEBUG, "Out of range. pos=%d", q->number); + return &r; + } r.len = records[0].size; r.record = malloc (r.len+1); strcpy (r.record, records[0].buf); diff --git a/index/zsets.c b/index/zsets.c index 223103a..2963e4f 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zsets.c,v $ - * Revision 1.1 1995-09-05 15:28:40 adam + * Revision 1.2 1995-09-06 10:33:04 adam + * More work on present. Some log messages removed. + * + * Revision 1.1 1995/09/05 15:28:40 adam * More work on search engine. * */ @@ -67,7 +70,6 @@ ZServerRecord *resultSetRecordGet (ZServerInfo *zi, const char *name, rset_open (rset, 0); while (rset_read (rset, &key)) { - logf (LOG_DEBUG, "resultSetRecordGet: %d", key.sysno); if (key.sysno != psysno) { psysno = key.sysno; @@ -77,7 +79,6 @@ ZServerRecord *resultSetRecordGet (ZServerInfo *zi, const char *name, FILE *inf; char fname[SYS_IDX_ENTRY_LEN]; - logf (LOG_DEBUG, "get sysno=%d", psysno); sr[num_i].buf = NULL; if (lseek (zi->sys_idx_fd, psysno * SYS_IDX_ENTRY_LEN, SEEK_SET) == -1) @@ -118,6 +119,12 @@ ZServerRecord *resultSetRecordGet (ZServerInfo *zi, const char *name, } } rset_close (rset); + while (num_i < num) + { + sr[num_i].buf = NULL; + sr[num_i].size = 0; + num_i++; + } return sr; } -- 1.7.10.4