aboutsummaryrefslogtreecommitdiffstats
path: root/src/jalv_console.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/jalv_console.c')
-rw-r--r--src/jalv_console.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/jalv_console.c b/src/jalv_console.c
index 0fb3125..b75bb3c 100644
--- a/src/jalv_console.c
+++ b/src/jalv_console.c
@@ -53,7 +53,11 @@ jalv_ui_port_event(Jalv* jalv,
int
jalv_init(int* argc, char*** argv, JalvOptions* opts)
{
- int a = 1;
+ opts->controls = malloc(sizeof(char*));
+ opts->controls[0] = NULL;
+
+ int n_controls = 0;
+ int a = 1;
for (; a < *argc && (*argv)[a][0] == '-'; ++a) {
if ((*argv)[a][1] == 'h') {
return print_usage((*argv)[0], true);
@@ -75,6 +79,15 @@ jalv_init(int* argc, char*** argv, JalvOptions* opts)
return 1;
}
opts->buffer_size = atoi((*argv)[a]);
+ } else if ((*argv)[a][1] == 'c') {
+ if (++a == *argc) {
+ fprintf(stderr, "Missing argument for -c\n");
+ return 1;
+ }
+ opts->controls = realloc(opts->controls,
+ (++n_controls + 1) * sizeof(char*));
+ opts->controls[n_controls - 1] = (*argv)[a];
+ opts->controls[n_controls] = NULL;
} else if ((*argv)[a][1] == 'd') {
opts->dump = true;
} else {