X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.c;h=09b11fe30de8a784b56da7658c2e3f7748e95b49;hb=8ed385caafd1d9695a5a9c0783f0dbe2a53f3e80;hp=600248a2918347e9e0547566f9538b1d38613363;hpb=5437b50633032595afe6f87dc0f989bc92a5aea8;p=idzebra-moved-to-github.git diff --git a/index/zserver.c b/index/zserver.c index 600248a..09b11fe 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -1,6 +1,6 @@ -/* $Id: zserver.c,v 1.123 2004-11-19 10:27:08 heikki Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps +/* $Id: zserver.c,v 1.130 2005-03-08 14:02:12 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -20,8 +20,9 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include #include +#include +#include #include #ifdef WIN32 #include @@ -32,7 +33,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #endif #include -#include +#include #include #include @@ -153,7 +154,8 @@ bend_initresult *bend_init (bend_initrequest *q) charsets[i], right_name); odr_set_charset (q->stream, right_name, "UTF-8"); if (selected) - zebra_record_encoding (zh, right_name); + zebra_record_encoding(zh, right_name); + zebra_octet_term_encoding(zh, right_name); q->charneg_response = yaz_set_response_charneg (q->stream, charsets[i], 0, selected); @@ -260,6 +262,7 @@ static void search_terms (ZebraHandle zh, bend_search_rr *r) int bend_search (void *handle, bend_search_rr *r) { ZebraHandle zh = (ZebraHandle) handle; + zint zhits = 0; r->hits = 0; r->errcode = 0; @@ -271,12 +274,16 @@ int bend_search (void *handle, bend_search_rr *r) zebra_result (zh, &r->errcode, &r->errstring); return 0; } - yaz_log (YLOG_LOG, "ResultSet '%s'", r->setname); + yaz_log (YLOG_DEBUG, "ResultSet '%s'", r->setname); switch (r->query->which) { case Z_Query_type_1: case Z_Query_type_101: zebra_search_RPN (zh, r->stream, r->query->u.type_1, - r->setname, &r->hits); + r->setname, &zhits); + if (zhits > 2147483646) + r->hits = 2147483647; + else + r->hits = (int) zhits; zebra_result (zh, &r->errcode, &r->errstring); if (!r->errcode) search_terms (zh, r); @@ -380,7 +387,7 @@ int bend_delete (void *handle, bend_delete_rr *rr) { ZebraHandle zh = (ZebraHandle) handle; - rr->delete_status = zebra_deleleResultSet(zh, rr->function, + rr->delete_status = zebra_deleteResultSet(zh, rr->function, rr->num_setnames, rr->setnames, rr->statuses); return 0;