Switch to using getopt_long for config flag

This commit is contained in:
Brian Ashworth 2018-07-16 12:17:16 -04:00
parent 96af98e976
commit 2bb424ea89

17
main.c
View File

@ -789,13 +789,16 @@ int main(int argc, char **argv) {
wlr_log_init(WLR_DEBUG, NULL); wlr_log_init(WLR_DEBUG, NULL);
char *config_path = NULL; char *config_path = NULL;
for (int i = 0; i < argc; i++) { static struct option long_options[] = {
if (strcmp(argv[i], "-C") == 0 || strcmp(argv[i], "--config") == 0) { {"config", required_argument, NULL, 'C'},
if (i + 1 == argc) { {0, 0, 0, 0},
wlr_log(WLR_ERROR, "Config file path is missing"); };
return 1; while (1) {
} int c = getopt_long(argc, argv, "C:", long_options, NULL);
config_path = strdup(argv[i + 1]); if (c == -1) {
break;
} else if (c == 'C') {
config_path = strdup(optarg);
break; break;
} }
} }