X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=client%2Fclient.c;h=3022b3f5f61bfb6dc264d5312dd3ddf5a969ae72;hb=7ac51c067e1306e5451d10dca49ddaf5a0f61cbc;hp=0c5944cab35d2bdf6871f4f917733c969b9955c0;hpb=a7a4ea3451105aa7dea1e4b2a3e7062dfbc727bc;p=yaz-moved-to-github.git diff --git a/client/client.c b/client/client.c index 0c5944c..3022b3f 100644 --- a/client/client.c +++ b/client/client.c @@ -1,10 +1,28 @@ + /* * Copyright (c) 1995-1996, Index Data. * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * * $Log: client.c,v $ - * Revision 1.44 1997-05-05 11:20:35 adam + * Revision 1.49 1997-09-04 13:45:17 adam + * Added UNImarc to list of available syntaxes. + * + * Revision 1.48 1997/09/01 08:48:44 adam + * New windows NT/95 port using MSV5.0. Only a few changes made + * to avoid warnings. Sub project created: client.dsp. + * + * Revision 1.47 1997/07/01 13:49:56 adam + * Take care of case when invalid target is specified on command line. + * + * Revision 1.46 1997/06/23 10:30:18 adam + * Added call to ccl_rpn_delete in search. Added ODR stream "out" + * as parameter to ccl_rpn_query to release RPN query. + * + * Revision 1.45 1997/05/14 06:53:29 adam + * C++ support. + * + * Revision 1.44 1997/05/05 11:20:35 adam * Client uses "options" utility and marc dump filename may be specified * as an option (-m ). * @@ -370,7 +388,7 @@ static void display_variant(Z_Variant *v, int level) for (i = 0; i < v->num_triples; i++) { - printf("%*sclass=%d,type=%d", level * 4, "", *v->triples[i]->class, + printf("%*sclass=%d,type=%d", level * 4, "", *v->triples[i]->zclass, *v->triples[i]->type); if (v->triples[i]->which == Z_Triple_internationalString) printf(",value=%s\n", v->triples[i]->value.internationalString); @@ -504,7 +522,7 @@ static void display_record(Z_DatabaseRecord *p) else if (r->which == Z_External_octet && p->u.octet_aligned->len) { const char *marc_buf = (char*)p->u.octet_aligned->buf; - marc_display (marc_buf, stdout); + marc_display (marc_buf, NULL); if (marcdump) fwrite (marc_buf, strlen (marc_buf), 1, marcdump); } @@ -675,12 +693,13 @@ static int send_searchRequest(char *arg) #if CCL2RPN case QueryType_CCL2RPN: query.which = Z_Query_type_1; - assert((RPNquery = ccl_rpn_query(rpn))); + assert((RPNquery = ccl_rpn_query(out, rpn))); bib1.proto = protocol; bib1.oclass = CLASS_ATTSET; bib1.value = VAL_BIB1; RPNquery->attributeSetId = oid_getoidbyent(&bib1); query.u.type_1 = RPNquery; + ccl_rpn_delete (rpn); break; #endif default: @@ -893,6 +912,7 @@ int cmd_quit(char *arg) { printf("See you later, alligator.\n"); exit(0); + return 0; } int cmd_cancel(char *arg) @@ -900,7 +920,7 @@ int cmd_cancel(char *arg) Z_APDU *apdu = zget_APDU(out, Z_APDU_triggerResourceControlRequest); Z_TriggerResourceControlRequest *req = apdu->u.triggerResourceControlRequest; - bool_t false = 0; + bool_t rfalse = 0; if (!session) { @@ -913,7 +933,7 @@ int cmd_cancel(char *arg) return 0; } *req->requestedAction = Z_TriggerResourceCtrl_cancel; - req->resultSetWanted = &false; + req->resultSetWanted = &rfalse; send_apdu(apdu); printf("Sent cancel request\n"); @@ -1029,6 +1049,12 @@ int cmd_format(char *arg) recordsyntax = VAL_UKMARC; return 1; } + else if (!strcmp(arg, "unimarc")) + { + printf("Preferred format is UNIMARC\n"); + recordsyntax = VAL_UNIMARC; + return 1; + } else if (!strcmp(arg, "grs1")) { printf("Preferred format is GRS1\n"); @@ -1055,7 +1081,7 @@ int cmd_format(char *arg) } else { - printf("Specify one of {sutrs,usmarc,danmarc,ukmarc,grs1,summary,explain}.\n"); + printf("Specify one of {sutrs,usmarc,danmarc,ukmarc,unimarc,grs1,summary,explain}.\n"); return 0; } } @@ -1333,8 +1359,8 @@ int main(int argc, char **argv) switch (ret) { case 0: - cmd_open (arg); - opened = 1; + if (cmd_open (arg) == 2) + opened = 1; break; case 'm': if (!(marcdump = fopen (arg, "a")))