pr "#include <config.h>\n";
pr "\n";
+ pr "/* It is safe to call deprecated functions from this file. */\n";
+ pr "#undef GUESTFS_WARN_DEPRECATED\n";
+ pr "\n";
pr "#include <stdio.h>\n";
pr "#include <stdlib.h>\n";
pr "#include <string.h>\n";
pr "#include <inttypes.h>\n";
pr "\n";
- pr "#include <guestfs.h>\n";
pr "#include \"c-ctype.h\"\n";
pr "#include \"full-write.h\"\n";
pr "#include \"xstrtol.h\"\n";
+ pr "\n";
+ pr "#include <guestfs.h>\n";
pr "#include \"fish.h\"\n";
+ pr "#include \"fish-cmds.h\"\n";
pr "#include \"options.h\"\n";
pr "#include \"cmds_gperf.h\"\n";
pr "\n";
pr " if (%s == NULL) return -1;\n" name
| Key name ->
pr " %s = read_key (\"%s\");\n" name name;
+ pr " if (keys_from_stdin)\n";
+ pr " input_lineno++;\n";
pr " if (%s == NULL) return -1;\n" name
| Bool name ->
pr " %s = is_true (argv[i++]) ? 1 : 0;\n" name
pr " }\n";
pr "}\n"
+and generate_fish_cmds_h () =
+ generate_header CStyle GPLv2plus;
+
+ pr "#ifndef FISH_CMDS_H\n";
+ pr "#define FISH_CMDS_H\n";
+ pr "\n";
+
+ List.iter (
+ fun (shortname, _, _, _, _, _, _) ->
+ pr "extern int run_%s (const char *cmd, size_t argc, char *argv[]);\n"
+ shortname
+ ) fish_commands;
+
+ pr "\n";
+ pr "#endif /* FISH_CMDS_H */\n"
+
(* gperf code to do fast lookups of commands. *)
and generate_fish_cmds_gperf () =
generate_header CStyle GPLv2plus;