From: Karel Zak Date: Mon, 5 May 2025 10:18:10 +0000 (+0200) Subject: fix and add parse_switch() test X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5298e23446056106ede278d8eb0b2807ca63621e;p=thirdparty%2Futil-linux.git fix and add parse_switch() test Signed-off-by: Karel Zak --- diff --git a/lib/strutils.c b/lib/strutils.c index 00934d511..d4a322deb 100644 --- a/lib/strutils.c +++ b/lib/strutils.c @@ -254,7 +254,7 @@ int parse_switch(const char *arg, ...) const char *a, *b; va_list ap; - va_start(ap, *arg); + va_start(ap, arg); do { a = va_arg(ap, char *); if (!a) @@ -1406,6 +1406,14 @@ int main(int argc, char *argv[]) if (argc == 3 && strcmp(argv[1], "--size") == 0) { return test_strutils_sizes(argc - 1, argv + 1); + } else if (argc == 3 && strcmp(argv[1], "--parse-switch") == 0) { + printf("'%s'-->%d\n", argv[2], parse_switch(argv[2], + "on", "off", + "enable", "disable", + "yes", "no", + "1", "0", + NULL)); + return EXIT_SUCCESS; } else if (argc == 4 && strcmp(argv[1], "--cmp-paths") == 0) { return test_strutils_cmp_paths(argc - 1, argv + 1); @@ -1475,6 +1483,7 @@ int main(int argc, char *argv[]) return EXIT_SUCCESS; } else { fprintf(stderr, "usage: %1$s --size [suffix]\n" + " %1$s --parse-switch \n" " %1$s --cmp-paths \n" " %1$s --strdup-member \n" " %1$s --stralnumcmp \n"