X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=client%2Fclient.c;h=5edf45746e526876b7d29abc578a083c61d5f70d;hp=943fd7bc99335e62009fb882beaf58b944dd2a82;hb=6c5cedfce30df58be034fd3555ae6935b3023882;hpb=abda0ffc1ac8fca34535f39c6581ed16e70e15f9 diff --git a/client/client.c b/client/client.c index 943fd7b..5edf457 100644 --- a/client/client.c +++ b/client/client.c @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: client.c,v $ - * Revision 1.41 1996-10-07 15:29:03 quinn + * Revision 1.43 1996-11-08 11:03:26 adam + * Client accepts multiple database names. + * + * Revision 1.42 1996/10/08 10:44:57 quinn + * Resolved conflicts. + * + * Revision 1.41 1996/10/07 15:29:03 quinn * Work * * Revision 1.40 1996/08/29 14:19:34 quinn @@ -163,7 +169,8 @@ static ODR out, in, print; /* encoding and decoding streams */ static COMSTACK conn = 0; /* our z-association */ static Z_IdAuthentication *auth = 0; /* our current auth definition */ -static char database[512] = "Default"; /* Database name */ +static char *databaseNames[128]; +static int num_databaseNames = 0; static int setnumber = 0; /* current result set number */ static int smallSetUpperBound = 0; static int largeSetLowerBound = 1; @@ -578,7 +585,6 @@ static int send_searchRequest(char *arg) { Z_APDU *apdu = zget_APDU(out, Z_APDU_searchRequest); Z_SearchRequest *req = apdu->u.searchRequest; - char *databaseNames = database; Z_Query query; #if CCL2RPN struct ccl_rpn_node *rpn; @@ -634,8 +640,8 @@ static int send_searchRequest(char *arg) req->smallSetElementSetNames = req->mediumSetElementSetNames = elementSetNames; } - req->num_databaseNames = 1; - req->databaseNames = &databaseNames; + req->num_databaseNames = num_databaseNames; + req->databaseNames = databaseNames; req->query = &query; @@ -742,12 +748,30 @@ static int cmd_status(char *arg) static int cmd_base(char *arg) { + int i; + char *cp; + if (!*arg) { - printf("Usage: base \n"); + printf("Usage: base ...\n"); return 0; } - strcpy(database, arg); + for (i = 0; iu.scanRequest; - char *db = database; - req->num_databaseNames = 1; - req->databaseNames = &db; + req->num_databaseNames = num_databaseNames; + req->databaseNames = databaseNames; req->termListAndStartPoint = p_query_scan(out, protocol, &req->attributeSet, string); req->numberOfTermsRequested = # @@ -1000,17 +1023,6 @@ int cmd_format(char *arg) recordsyntax = VAL_DANMARC; return 1; } -<<<<<<< client.c - else if (!strcmp(arg, "grs1")) - { - printf("Preferred format is GRS1\n"); - recordsyntax = VAL_GRS1; - return 1; - } - else if (!strcmp(arg, "soif")) -||||||| 1.40 - else if (!strcmp(arg, "grs1")) -======= else if (!strcmp(arg, "ukmarc")) { printf("Preferred format is UKMARC\n"); @@ -1018,7 +1030,12 @@ int cmd_format(char *arg) return 1; } else if (!strcmp(arg, "grs1")) ->>>>>>> /tmp/T4a00171 + { + printf("Preferred format is GRS1\n"); + recordsyntax = VAL_GRS1; + return 1; + } + else if (!strcmp(arg, "soif")) { printf("Preferred format is SOIF\n"); recordsyntax = VAL_SOIF; @@ -1304,6 +1321,7 @@ static int client(int wait) int main(int argc, char **argv) { initialize(); + cmd_base("Default"); if (argc > 1) cmd_open(argv[1]); else