X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=ztest%2Fztest.c;h=77e2406feef41ca4bbaacd092bacb9b11c4eabc2;hb=451c575ae8c09aea34037ae2e7169337b38e89d0;hp=4795ee65852f04f7d6671ca4de47e62f56ffc28d;hpb=037037e14faa1f992ed3574817086eabc469c9c4;p=yaz-moved-to-github.git diff --git a/ztest/ztest.c b/ztest/ztest.c index 4795ee6..77e2406 100644 --- a/ztest/ztest.c +++ b/ztest/ztest.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2003, Index Data. + * Copyright (c) 1995-2004, Index Data. * See the file LICENSE for details. * - * $Id: ztest.c,v 1.59 2003-12-29 14:54:33 adam Exp $ + * $Id: ztest.c,v 1.65 2004-09-30 21:54:22 adam Exp $ */ /* @@ -34,6 +34,15 @@ int ztest_search (void *handle, bend_search_rr *rr) rr->errcode = 23; return 0; } +#if NMEM_DEBUG + /* if database is stop, stop this process.. For debugging only. */ + if (!yaz_matchstr (rr->basenames[0], "stop")) + { + nmem_print_list_l(LOG_LOG); + exit(0); + } +#endif + /* Throw Database unavailable if other than Default */ if (yaz_matchstr (rr->basenames[0], "Default")) { rr->errcode = 109; @@ -413,7 +422,7 @@ int ztest_delete (void *handle, bend_delete_rr *rr) int ztest_sort (void *handle, bend_sort_rr *rr) { rr->errcode = 0; - rr->sort_status = Z_SortStatus_success; + rr->sort_status = Z_SortResponse_success; return 0; } @@ -428,7 +437,7 @@ int ztest_present (void *handle, bend_present_rr *rr) int ztest_fetch(void *handle, bend_fetch_rr *r) { char *cp; - r->errstring = 0; + r->last_in_set = 0; r->basename = "Default"; r->output_format = r->request_format; @@ -480,12 +489,20 @@ int ztest_fetch(void *handle, bend_fetch_rr *r) fread (r->record, size, 1, f); fclose (f); } - else if (r->request_format == VAL_TEXT_XML && - (cp = dummy_xml_record (r->number, r->stream))) + else if (r->request_format == VAL_TEXT_XML) { - r->len = strlen(cp); - r->record = cp; - r->output_format = VAL_TEXT_XML; + if ((cp = dummy_xml_record (r->number, r->stream))) + { + r->len = strlen(cp); + r->record = cp; + r->output_format = VAL_TEXT_XML; + } + else + { + r->errcode = 14; + r->surrogate_flag = 1; + return 0; + } } else if ((cp = dummy_marc_record(r->number, r->stream))) { @@ -632,6 +649,7 @@ bend_initresult *bend_init(bend_initrequest *q) q->bend_fetch = ztest_fetch; q->bend_scan = ztest_scan; q->bend_explain = ztest_explain; + return r; }