Omit some functions not used when XML2 is not enabled (YAZ_HAVE_XML2).
[yaz-moved-to-github.git] / client / client.c
index c34d201..5cce8cc 100644 (file)
@@ -2136,8 +2136,10 @@ static int cmd_update0(const char *arg)
 static int cmd_update_Z3950(int version, int action_no, const char *recid,
                             char *rec_buf, int rec_len);
 
+#if YAZ_HAVE_XML2
 static int cmd_update_SRW(int action_no, const char *recid,
                           char *rec_buf, int rec_len);
+#endif
 
 static int cmd_update_common(const char *arg, int version)
 {
@@ -3267,23 +3269,29 @@ int cmd_format(const char *arg)
         printf("Usage: format <recordsyntax>\n");
         return 0;
     }
+    while (sscanf(cp, "%40s%n", form_str, &nor) >= 1 && nor > 0
+           && idx < RECORDSYNTAX_MAX)
+    {
+        if (strcmp(form_str, "none") && 
+            !yaz_string_to_oid_odr(yaz_oid_std(), CLASS_RECSYN, form_str, out))
+        {
+            printf("Bad format: %s\n", form_str);
+            return 0;
+        }
+        cp += nor;
+    }
     for (i = 0; i < recordsyntax_size; i++)
     {
         xfree(recordsyntax_list[i]);
         recordsyntax_list[i] = 0;
     }
-
+    
+    cp = arg;
     while (sscanf(cp, "%40s%n", form_str, &nor) >= 1 && nor > 0
            && idx < RECORDSYNTAX_MAX)
     {
         if (!strcmp(form_str, "none"))
             break;
-        if (!yaz_string_to_oid_odr(yaz_oid_std(), CLASS_RECSYN, form_str, out))
-        {
-            printf("Bad format: %s\n", form_str);
-            recordsyntax_size = 0;
-            return 0;
-        }
         recordsyntax_list[idx] = xstrdup(form_str);
         cp += nor;
         idx++;