X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fapitest.c;h=9ed3508f1dc7f5bcc0501d77ba43773664541c57;hb=c7700ec8d0d767670b6a3f3a860ba21d9dce8c28;hp=7af42a5db4057fbccdd9825e986ed25f70c7486f;hpb=186445176c11c6d5506770e2be0e5d68d456b82d;p=idzebra-moved-to-github.git diff --git a/index/apitest.c b/index/apitest.c index 7af42a5..9ed3508 100644 --- a/index/apitest.c +++ b/index/apitest.c @@ -98,7 +98,7 @@ int main (int argc, char **argv) { /* odr is a handle to memory assocated with RETURNED data from various functions */ - ODR odr; + ODR odr_input, odr_output; /* zh is our Zebra Handle - describes the server as a whole */ ZebraHandle zh; @@ -109,7 +109,10 @@ int main (int argc, char **argv) nmem_init (); - odr = odr_createmem (ODR_ENCODE); + log_init_file("apitest.log"); + + odr_input = odr_createmem (ODR_DECODE); + odr_output = odr_createmem (ODR_ENCODE); /* open Zebra */ zh = zebra_open ("zebra.cfg"); @@ -128,7 +131,7 @@ int main (int argc, char **argv) for (argno = 1; argno < argc; argno++) { /* parse the query and generate an RPN structure */ - Z_RPNQuery *query = p_query_rpn (odr, PROTO_Z3950, argv[argno]); + Z_RPNQuery *query = p_query_rpn (odr_input, PROTO_Z3950, argv[argno]); char setname[64]; int errCode; int i; @@ -141,15 +144,15 @@ int main (int argc, char **argv) if (!query) { logf (LOG_WARN, "bad query %s\n", argv[argno]); - odr_reset (odr); + odr_reset (odr_input); continue; } /* result set name will be called 1,2, etc */ - sprintf (setname, "%d", i); + sprintf (setname, "%d", argno); /* fire up the search */ - zebra_search_rpn (zh, odr, query, 1, &base, setname); + zebra_search_rpn (zh, odr_input, odr_output, query, 1, &base, setname); /* status ... */ errCode = zebra_errCode (zh); @@ -173,16 +176,17 @@ int main (int argc, char **argv) noOfRecordsToFetch = zebra_hits(zh); /* reset our memory - we've finished dealing with search */ - odr_reset (odr); + odr_reset (odr_input); + odr_reset (odr_output); /* prepare to fetch ... */ - records = malloc (sizeof(*records) * noOfRecordsToFetch); + records = odr_malloc (odr_input, sizeof(*records) * noOfRecordsToFetch); /* specify position of each record to fetch */ /* first one is numbered 1 and NOT 0 */ for (i = 0; i