X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=index%2Fzserver.c;h=c07f344d81ce4b917c5e58f1cf9e5508b31f6fdb;hb=a3f25090ed13bab6694df6b14593f8ac9d312f4e;hp=b727e71d72cb7228948dc2799969a2bb298f111b;hpb=4330299f1b75ab052b9f9475b59f75a5f6c53394;p=idzebra-moved-to-github.git diff --git a/index/zserver.c b/index/zserver.c index b727e71..c07f344 100644 --- a/index/zserver.c +++ b/index/zserver.c @@ -1,4 +1,4 @@ -/* $Id: zserver.c,v 1.117.2.2 2005-01-16 23:13:29 adam Exp $ +/* $Id: zserver.c,v 1.117.2.5 2005-11-07 12:53:47 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -105,7 +105,7 @@ bend_initresult *bend_init (bend_initrequest *q) } if (zebra_auth (zh, user, passwd)) { - r->errcode = 222; + r->errcode = 1011; /* Init/AC: Bad user ID or password */ r->errstring = user; return r; } @@ -489,6 +489,7 @@ int bend_esrequest (void *handle, bend_esrequest_rr *rr) Z_IUUpdateEsRequest *esRequest = up->u.esRequest; Z_IUOriginPartToKeep *toKeep = esRequest->toKeep; Z_IUSuppliedRecords *notToKeep = esRequest->notToKeep; + int res; yaz_log (LOG_LOG, "action"); if (toKeep->action) @@ -534,11 +535,13 @@ int bend_esrequest (void *handle, bend_esrequest_rr *rr) rr->errstring = "database"; return 0; } - if (notToKeep) + res = zebra_begin_trans (zh, 1); + if (res) /* zebra_trans_failed ? */ + zebra_result(zh, &rr->errcode, &rr->errstring); + else { int i; - zebra_begin_trans (zh, 1); - for (i = 0; i < notToKeep->num; i++) + for (i = 0; notToKeep && i < notToKeep->num; i++) { Z_External *rec = notToKeep->elements[i]->record; struct oident *oident = 0; @@ -691,7 +694,7 @@ int bend_esrequest (void *handle, bend_esrequest_rr *rr) } } } - zebra_end_trans (zh); + zebra_end_trans (zh); } } }