X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=generator%2Fgenerator_fish.ml;h=b0772fc0c29f796d6534ccce2fe95617ba57b77c;hp=fdb4eff39057c830884f40bc6403d027307f8e1a;hb=9332031543563fd2ae6e0e8731fc770f5a5931db;hpb=14490c3e1aac61c6ac90f28828896683f64f0dc9 diff --git a/generator/generator_fish.ml b/generator/generator_fish.ml index fdb4eff..b0772fc 100644 --- a/generator/generator_fish.ml +++ b/generator/generator_fish.ml @@ -424,12 +424,14 @@ Guestfish will prompt for these separately." pr " for (; i < argc; ++i) {\n"; pr " uint64_t this_mask;\n"; pr " const char *this_arg;\n"; + pr "\n"; + pr " "; List.iter ( fun argt -> let n = name_of_argt argt in let uc_n = String.uppercase n in let len = String.length n in - pr " if (STRPREFIX (argv[i], \"%s:\")) {\n" n; + pr "if (STRPREFIX (argv[i], \"%s:\")) {\n" n; (match argt with | Bool n -> pr " optargs_s.%s = is_true (&argv[i][%d]) ? 1 : 0;\n" @@ -453,10 +455,17 @@ Guestfish will prompt for these separately." pr " this_mask = GUESTFS_%s_%s_BITMASK;\n" uc_name uc_n; pr " this_arg = \"%s\";\n" n; pr " }\n"; + pr " else "; ) optargs; + pr "{\n"; + pr " fprintf (stderr, _(\"%%s: unknown optional argument \\\"%%s\\\"\\n\"),\n"; + pr " cmd, argv[i]);\n"; + pr " return -1;\n"; + pr " }\n"; + pr "\n"; pr " if (optargs_s.bitmask & this_mask) {\n"; - pr " fprintf (stderr, _(\"%%s: optional argument %%s given twice\\n\"),\n"; + pr " fprintf (stderr, _(\"%%s: optional argument \\\"%%s\\\" given twice\\n\"),\n"; pr " cmd, this_arg);\n"; pr " return -1;\n"; pr " }\n";