/*
- * 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 <stdio.h>
#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)
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;
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");
}