X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=client%2Fclient.c;h=106f12df376d4f2ca9d2ddeb04491be1c2d776b0;hp=c34d201d56e0c4c0dd76628c24384216b1ceb453;hb=160f79b459b7d7dc07830e679349d82c3a77256d;hpb=bb376bb6ee4fc45ee4a2e76e5221bd5392766132 diff --git a/client/client.c b/client/client.c index c34d201..106f12d 100644 --- a/client/client.c +++ b/client/client.c @@ -3267,23 +3267,29 @@ int cmd_format(const char *arg) printf("Usage: format \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++;