commit 7b91712416953c25f2722fedb57b474504460a48
parent 14c949c1c7b8a56de45636ed643bcec3d670c2ec
Author: Brian Ashworth <bosrsf04@gmail.com>
Date: Mon, 16 Jul 2018 12:17:16 -0400
Switch to using getopt_long for config flag
Diffstat:
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git 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;
}
}