yaz-client: show uses last position if omitted
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 9 Apr 2010 08:47:04 +0000 (10:47 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 9 Apr 2010 08:47:04 +0000 (10:47 +0200)
The show command has always used last position if omitted - except
that this was messed up in YAZ 4.0.2.

client/client.c

index 3c68c58..144c0f4 100644 (file)
@@ -2850,6 +2850,7 @@ static int parse_show_args(const char *arg_c, char *setstring,
                            Odr_int *start, Odr_int *number)
 {
     char *end_ptr;
+    Odr_int start_position;
 
     if (setnumber >= 0)
         sprintf(setstring, "%d", setnumber);
@@ -2861,8 +2862,11 @@ static int parse_show_args(const char *arg_c, char *setstring,
         *number = last_hit_count;
         *start = 1;
     }
-    *start = odr_strtol(arg_c, &end_ptr, 10);
-    if (end_ptr == arg_c || *end_ptr == '\0')
+    start_position = odr_strtol(arg_c, &end_ptr, 10);
+    if (end_ptr == arg_c)
+        return 1;
+    *start = start_position;
+    if (*end_ptr == '\0')
         return 1;
     while (isspace(*(unsigned char *)end_ptr))
         end_ptr++;