diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | gmid.c | 9 |
2 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,7 @@ 2021-06-29 Omar Polo <op@omarpolo.com> + * gmid.c (main): add -D to define macros from the cmd line + * parse.y (yylex): allow to define macros in the config file * gmid.c (main): use getopt_long, add --help as synonym of -h and -V/--version @@ -27,7 +27,7 @@ #include <signal.h> #include <string.h> -static const char *opts = "6c:d:fH:hnP:p:Vvx:"; +static const char *opts = "6c:D:d:fH:hnP:p:Vvx:"; static struct option longopts[] = { {"help", no_argument, NULL, 'h'}, @@ -382,7 +382,7 @@ usage(void) { fprintf(stderr, "Version: " GMID_STRING "\n" - "Usage: %s [-fnv] [-c config] [-P pidfile]\n" + "Usage: %s [-fnv] [-c config] [-D macro=value] [-P pidfile]\n" " %s [-6hVv] [-d certs-dir] [-H hostname] [-p port] [-x cgi] [dir]\n", getprogname(), getprogname()); @@ -548,6 +548,11 @@ main(int argc, char **argv) config_path = absolutify_path(optarg); break; + case 'D': + if (cmdline_symset(optarg) == -1) + errx(1, "invalid macro: %s", optarg); + break; + case 'd': certs_dir = optarg; configless = 1; |