X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.c;h=7bd26e0f9b28dbc3e098e25d571d0de9942d4a33;hb=b7f00ecbe71200814196edcb38c378dcd4acaacc;hp=3251127b778ae18314f07bf98857a9b4dcd78730;hpb=493237735ce44d9216b870542b90a3c5f393a586;p=idzebra-moved-to-github.git diff --git a/index/zserver.c b/index/zserver.c index 3251127..7bd26e0 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -4,7 +4,19 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zserver.c,v $ - * Revision 1.27 1995-11-27 13:58:54 adam + * Revision 1.29 1995-12-04 14:22:32 adam + * Extra arg to recType_byName. + * Started work on new regular expression parsed input to + * structured records. + * + * Revision 1.28 1995/11/28 09:09:48 adam + * Zebra config renamed. + * Use setting 'recordId' to identify record now. + * Bug fix in recindex.c: rec_release_blocks was invokeded even + * though the blocks were already released. + * File traversal properly deletes records when needed. + * + * Revision 1.27 1995/11/27 13:58:54 adam * New option -t. storeStore data implemented in server. * * Revision 1.26 1995/11/25 10:24:07 adam @@ -128,7 +140,7 @@ bend_initresult *bend_init (bend_initrequest *q) } } - data1_tabpath = res_get(common_resource, "data1_tabpath"); + data1_tabpath = res_get(common_resource, "profilePath"); server_info.sets = NULL; server_info.records = rec_open (0); @@ -196,7 +208,7 @@ static int record_int_read (int fd, char *buf, size_t count) return 0; l = (l < count) ? l : count; memcpy (buf, record_int_buf + record_int_pos, l); - record_int_buf += l; + record_int_pos += l; return l; } @@ -209,12 +221,13 @@ static int record_fetch (ZServerInfo *zi, int sysno, int score, ODR stream, char *fname, *file_type; RecType rt; struct recRetrieveCtrl retrieveCtrl; + char subType[128]; rec = rec_get (zi->records, sysno); file_type = rec->info[recInfo_fileType]; fname = rec->info[recInfo_filename]; - if (!(rt = recType_byName (file_type))) + if (!(rt = recType_byName (file_type, subType))) { logf (LOG_FATAL|LOG_ERRNO, "Retrieve: Cannot handle type %s", file_type); @@ -227,6 +240,7 @@ static int record_fetch (ZServerInfo *zi, int sysno, int score, ODR stream, record_int_len = rec->size[recInfo_storeData]; record_int_buf = rec->info[recInfo_storeData]; record_int_pos = 0; + logf (LOG_DEBUG, "Internal retrieve. %d bytes", record_int_len); } else { @@ -242,6 +256,7 @@ static int record_fetch (ZServerInfo *zi, int sysno, int score, ODR stream, } retrieveCtrl.readf = record_ext_read; } + retrieveCtrl.subType = subType; retrieveCtrl.localno = sysno; retrieveCtrl.score = score; retrieveCtrl.odr = stream; @@ -330,7 +345,7 @@ int main (int argc, char **argv) struct statserv_options_block *sob; sob = statserv_getcontrol (); - strcpy (sob->configname, "base"); + strcpy (sob->configname, FNAME_CONFIG); statserv_setcontrol (sob); return statserv_main (argc, argv);