X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=client%2Fclient.c;h=cac3f486615b0d69650623f28bbbe80fd271e0c2;hp=b92581044fe40e20a3da2b2a44bce8ea686a372e;hb=4c176312acdc3444c9afc820f76a393e64668e52;hpb=f64aa61c61bf8bf851d7b66a5fc137669dc77452 diff --git a/client/client.c b/client/client.c index b925810..cac3f48 100644 --- a/client/client.c +++ b/client/client.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2004, Index Data + * Copyright (C) 1995-2005, Index Data ApS * See the file LICENSE for details. * - * $Id: client.c,v 1.265 2005-01-08 01:20:18 adam Exp $ + * $Id: client.c,v 1.268 2005-01-15 19:47:08 adam Exp $ */ #include @@ -1253,11 +1253,11 @@ static int send_srw(Z_SRW_PDU *sr) #endif #if HAVE_XML2 -static int send_SRW_scanRequest(const char *arg, int num, int pos) +static int send_SRW_scanRequest(const char *arg, int pos, int num) { Z_SRW_PDU *sr = 0; - /* regular request .. */ + /* regular requestse .. */ sr = yaz_srw_get(out, Z_SRW_scan_request); switch(queryType) @@ -2856,8 +2856,16 @@ int cmd_scan(const char *arg) cmd_open(0); if (!conn) return 0; - if (send_SRW_scanRequest(arg, 20, 0) < 0) - return 0; + if (*arg) + { + if (send_SRW_scanRequest(arg, scan_position, 20) < 0) + return 0; + } + else + { + if (send_SRW_scanRequest(last_scan_line, 1, 20) < 0) + return 0; + } return 2; #else return 0; @@ -3520,11 +3528,19 @@ static void handle_srw_response(Z_SRW_searchRetrieveResponse *res) static void handle_srw_scan_term(Z_SRW_scanTerm *term) { if (term->displayTerm) - printf ("%s: ", term->displayTerm); - if (term->value) - printf ("%s: ", term->value); + printf("%s:", term->displayTerm); + else if (term->value) + printf("%s:", term->value); + else + printf("No value:"); if (term->numberOfRecords) - printf ("%d", *term->numberOfRecords); + printf(" %d", *term->numberOfRecords); + if (term->whereInList) + printf(" %s", term->whereInList); + if (term->value && term->displayTerm) + printf(" %s", term->value); + + strcpy(last_scan_line, term->value); printf("\n"); }