diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2018-07-16 12:17:16 -0400 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2018-07-16 12:17:40 -0400 |
commit | 7b91712416953c25f2722fedb57b474504460a48 (patch) | |
tree | 8387d2550524394e1ac7275ac040a355f2a4bfbf /swaylock/main.c | |
parent | 14c949c1c7b8a56de45636ed643bcec3d670c2ec (diff) |
Switch to using getopt_long for config flag
Diffstat (limited to 'swaylock/main.c')
-rw-r--r-- | swaylock/main.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/swaylock/main.c b/swaylock/main.c index 4ca53b84..ae5b86b9 100644 --- a/swaylock/main.c +++ b/swaylock/main.c @@ -789,13 +789,16 @@ int main(int argc, char **argv) { wlr_log_init(WLR_DEBUG, NULL); char *config_path = NULL; - for (int i = 0; i < argc; i++) { - if (strcmp(argv[i], "-C") == 0 || strcmp(argv[i], "--config") == 0) { - if (i + 1 == argc) { - wlr_log(WLR_ERROR, "Config file path is missing"); - return 1; - } - config_path = strdup(argv[i + 1]); + static struct option long_options[] = { + {"config", required_argument, NULL, 'C'}, + {0, 0, 0, 0}, + }; + while (1) { + int c = getopt_long(argc, argv, "C:", long_options, NULL); + if (c == -1) { + break; + } else if (c == 'C') { + config_path = strdup(optarg); break; } } |