ArgFlag
Description
Register a boolean toggle. No value consumed; presence sets the target to true. Target must be bool *.
Usage example (from documentation)
bool verbose = false;
ArgFlag(&p, "-v", "--verbose", &verbose, "verbose logging");Success
Appends an ARG_ROLE_FLAG spec; the bool target is set to true only if the option appears.
Failure
LOG_FATAL if parser is NULL, if target is not a bool *, or if both short_ and long_ are NULL.
Usage example (Cross-references)
Usage examples (Cross-references)
- In
ArgParse.c:432:
}
if (role == ARG_ROLE_FLAG && target.kind != ARG_KIND_BOOL) {
LOG_FATAL("arg_register: ArgFlag '{}' requires a bool* target", long_name ? long_name : short_name);
}
if (role == ARG_ROLE_COUNT && target.kind != ARG_KIND_U8 && target.kind != ARG_KIND_U16 &&- In
ArgParse.c:102:
bool verbose = false;
ArgFlag(&p, "-v", "--verbose", &verbose, "verbose");
char *argv[] = {(char *)"prog", (char *)"--verbose"};- In
ArgParse.c:118:
bool verbose = false;
ArgFlag(&p, "-v", "--verbose", &verbose, "verbose");
char *argv[] = {(char *)"prog"};- In
ArgParse.c:188:
ArgPositional(&p, "source", &src, "from");
ArgPositional(&p, "dest", &dst, "to");
ArgFlag(&p, "-v", "--verbose", &verbose, "v");
char *argv[] = {(char *)"cp", (char *)"a.txt", (char *)"-v", (char *)"b.txt"};- In
ArgParse.c:311:
bool v = false;
ArgFlag(&p, "-v", "--verbose", &v, "");
char *argv[] = {(char *)"prog", (char *)"--bogus"};- In
ArgParse.c:489:
ArgParse p = ArgParseInit("prog", NULL, &a);
bool v = false;
ArgFlag(&p, "-v", "--verbose", &v, "v");
char *argv[] = {(char *)"prog", (char *)"--verbose=1"};
ArgRun rc = ArgParseRun(&p, 2, argv);- In
ArgParse.c:672:
ArgRequired(&p, "-l", "--listen", &listen, "host:port");
ArgOptional(&p, NULL, "--timeout", &timeout, "secs");
ArgFlag(&p, "-v", "--verbose", &verbose, "be loud");
Zstr expected =- In
ArgParse.c:776:
bool quiet = false;
ArgFlag(&p, "-q", NULL, &quiet, "quiet");
Zstr expected =- In
ArgParse.c:847:
names[i][6] = (char)('0' + i % 10);
names[i][7] = '\0';
ArgFlag(&p, NULL, names[i], &flags[i], "f");
}- In
ArgParse.c:1452:
ArgParse p = ArgParseInit("prog", NULL, &a);
bool f = false;
ArgFlag(&p, "-v", "--verbose", &f, "v");
Str help = StrInit(&a);
bool got = capture_help_file(&p, &help);- In
ArgParse.c:1473:
bool aa = false;
Zstr bb = NULL;
ArgFlag(&p, "-a", "--a", &aa, "AAA");
ArgRequired(&p, NULL, "--a-very-long-option-name", &bb, "BBB");
Str help = StrInit(&a);- In
ArgParse.c:1554:
bool aflag = false;
bool bflag = false;
ArgFlag(&p, "-a", "--aaa", &aflag, "a");
ArgFlag(&p, "-b", "--bbb", &bflag, "b");- In
ArgParse.c:1555:
bool bflag = false;
ArgFlag(&p, "-a", "--aaa", &aflag, "a");
ArgFlag(&p, "-b", "--bbb", &bflag, "b");
char *argv[] = {(char *)"prog", (char *)"-b"};- In
ArgParse.c:1622:
bool f = false;
bool g = false;
ArgFlag(&p, "-f", "--fff", &f, "f");
ArgFlag(&p, "-g", "--ggg", &g, "g");- In
ArgParse.c:1623:
bool g = false;
ArgFlag(&p, "-f", "--fff", &f, "f");
ArgFlag(&p, "-g", "--ggg", &g, "g");
char *argv[] = {(char *)"prog", (char *)"-fg"};- In
ArgParse.c:1646:
bool f = false;
ArgFlag(&p, "-f", "--fff", &f, "f");
char *argv[] = {(char *)"prog", (char *)"-ff"};- In
ArgParse.c:1691:
bool v = false;
ArgFlag(&p, "-v", NULL, &v, "v"); // short-only: long_name == NULL
char *argv[] = {(char *)"prog", (char *)"-v"};- In
ArgParse.c:1714:
bool v = false;
ArgFlag(&p, NULL, NULL, &v, "v"); // neither short nor long -> LOG_FATAL
// Unreachable on real code (LOG_FATAL above longjmps out).
- In
ArgParse.c:1934:
ArgRequired(&p, "-l", "--listen", &listen, "host:port to listen on");
ArgOptional(&p, NULL, "--timeout", &timeout, "connection timeout");
ArgFlag(&p, "-v", "--verbose", &verbose, "verbose logging");
ArgPositional(&p, "hostname", &hostname, "name to resolve");
Last updated on