More type casts for char signed/unsigned and xmlChar. Using
[yaz-moved-to-github.git] / client / client.c
index f251ae2..6cad6d8 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: client.c,v 1.293 2005-06-30 08:34:01 adam Exp $
+ * $Id: client.c,v 1.295 2005-08-22 20:34:21 adam Exp $
  */
 
 #include <stdio.h>
@@ -133,6 +133,7 @@ static int scan_stepSize = 0;
 static int scan_position = 1;
 static int scan_size = 20;
 static char cur_host[200];
+static int last_hit_count = 0;
 
 typedef enum {
     QueryType_Prefix,
@@ -405,7 +406,7 @@ static int process_initResponse(Z_InitResponse *res)
                 if (oid->value == VAL_OCLCUI) {
                     Z_OCLC_UserInformation *oclc_ui;
                     ODR decode = odr_createmem(ODR_DECODE);
-                    odr_setbuf(decode, sat->buf, sat->len, 0);
+                    odr_setbuf(decode, (char *) sat->buf, sat->len, 0);
                     if (!z_OCLC_UserInformation(decode, &oclc_ui, 0, 0))
                         printf ("Bad OCLC UserInformation:\n");
                     else
@@ -1668,6 +1669,7 @@ static int process_searchResponse(Z_SearchResponse *res)
     else
         printf("Search was a bloomin' failure.\n");
     printf("Number of hits: %d", *res->resultCount);
+    last_hit_count = *res->resultCount;
     if (setnumber >= 0)
         printf (", setno %d", setnumber);
     printf ("\n");
@@ -2558,7 +2560,15 @@ static void parse_show_args(const char *arg_c, char *setstring,
         *p = '\0';
     }
     if (*arg)
-        *start = atoi(arg);
+    {
+        if (!strcmp(arg, "all"))
+        {
+            *number = last_hit_count;
+            *start = 1;
+        }
+        else
+            *start = atoi(arg);
+    }
     if (p && (p=strchr(p+1, '+')))
         strcpy (setstring, p+1);
     else if (setnumber >= 0)
@@ -2666,6 +2676,7 @@ static void close_session (void)
     odr_reset(out);
     odr_reset(in);
     odr_reset(print);
+    last_hit_count = 0;
 }
 
 void process_close(Z_Close *req)