diff options
author | okan <okan> | 2019-02-25 18:07:48 +0000 |
---|---|---|
committer | okan <okan> | 2019-02-25 18:07:48 +0000 |
commit | cd4be1c17a537cc398520140c547370d1061b841 (patch) | |
tree | 3be720036b9cfc7a04b2d2aaf4d962e2cc1f5059 /calmwm.c | |
parent | a5ba9aa9da9567244d1c3d1d8ccacfdb51b044de (diff) | |
download | cwm-cd4be1c17a537cc398520140c547370d1061b841.tar.gz cwm-cd4be1c17a537cc398520140c547370d1061b841.tar.xz cwm-cd4be1c17a537cc398520140c547370d1061b841.zip |
Add a configtest flag (-n).
based on a diff from Sascha Paunovic.
Diffstat (limited to 'calmwm.c')
-rw-r--r-- | calmwm.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/calmwm.c b/calmwm.c index 875b0ca..510bd33 100644 --- a/calmwm.c +++ b/calmwm.c @@ -55,7 +55,7 @@ main(int argc, char **argv) { char *display_name = NULL; char *fallback; - int ch, xfd; + int ch, xfd, nflag = 0; struct pollfd pfd[1]; if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) @@ -66,7 +66,7 @@ main(int argc, char **argv) fallback = u_argv(argv); Conf.wm_argv = u_argv(argv); - while ((ch = getopt(argc, argv, "c:d:v")) != -1) { + while ((ch = getopt(argc, argv, "c:d:nv")) != -1) { switch (ch) { case 'c': free(Conf.conf_file); @@ -75,6 +75,9 @@ main(int argc, char **argv) case 'd': display_name = optarg; break; + case 'n': + nflag = 1; + break; case 'v': Conf.debug++; break; @@ -90,8 +93,13 @@ main(int argc, char **argv) if (signal(SIGHUP, sighdlr) == SIG_ERR) err(1, "signal"); - if (parse_config(Conf.conf_file, &Conf) == -1) + if (parse_config(Conf.conf_file, &Conf) == -1) { warnx("error parsing config file"); + if (nflag) + return 1; + } + if (nflag) + return 0; xfd = x_init(display_name); cwm_status = CWM_RUNNING; @@ -219,7 +227,7 @@ usage(void) { extern char *__progname; - (void)fprintf(stderr, "usage: %s [-v] [-c file] [-d display]\n", + (void)fprintf(stderr, "usage: %s [-nv] [-c file] [-d display]\n", __progname); exit(1); } |