aboutsummaryrefslogtreecommitdiff
path: root/swaymsg/main.c
diff options
context:
space:
mode:
authorChristoph Gysin <christoph.gysin@gmail.com>2015-11-28 16:35:44 +0200
committerChristoph Gysin <christoph.gysin@gmail.com>2015-11-28 23:50:44 +0200
commit923c3245ace71ea0e26a0b12746a699fa499f759 (patch)
treeb3fe2cdbd20aa595dc4d4d4c5093172cce1d4054 /swaymsg/main.c
parentbf97a5ada5ea4f8b45d15d00dc7f21487af8eadc (diff)
Fix option parsing
Using 'flag' results in duplicate code paths for short and long options. This broke the -q short option in swaymsg, because there was: {"quiet", no_argument, &quiet, 'q'} Which will set quiet to 'q' and return 0, not 'q'.
Diffstat (limited to 'swaymsg/main.c')
-rw-r--r--swaymsg/main.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/swaymsg/main.c b/swaymsg/main.c
index 8f91dc55..f8c9e14c 100644
--- a/swaymsg/main.c
+++ b/swaymsg/main.c
@@ -24,7 +24,7 @@ int main(int argc, char **argv) {
static struct option long_options[] = {
{"help", no_argument, NULL, 'h'},
- {"quiet", no_argument, &quiet, 'q'},
+ {"quiet", no_argument, NULL, 'q'},
{"version", no_argument, NULL, 'v'},
{"socket", required_argument, NULL, 's'},
{"type", required_argument, NULL, 't'},
@@ -48,7 +48,8 @@ int main(int argc, char **argv) {
break;
}
switch (c) {
- case 0: // Flag
+ case 'q': // Quiet
+ quiet = 1;
break;
case 's': // Socket
socket_path = strdup(optarg);