diff --git a/ChangeLog b/ChangeLog index a60f88a3..2d95a513 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,6 +24,7 @@ Romain Moret 2008-06-05 Stephane Letz * Better control of exported symbols. + * Fix a bug in backend parameter parsing. 2008-06-04 Stephane Letz diff --git a/common/JackDriverLoader.cpp b/common/JackDriverLoader.cpp index 5a33819c..99f317c6 100644 --- a/common/JackDriverLoader.cpp +++ b/common/JackDriverLoader.cpp @@ -244,7 +244,7 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[]) const JSList * driver_params = jackctl_driver_get_parameters(driver_ptr); if (driver_params == NULL) - return 1; + return 1; jack_driver_desc_t * desc = jackctl_driver_get_desc(driver_ptr); @@ -295,30 +295,30 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[]) } fprintf (stderr, "Options for driver '%s':\n", desc->name); - jack_print_driver_options (desc, stderr); - exit (1); + jack_print_driver_options(desc, stderr); + return 1; } node_ptr = (JSList *)driver_params; while (node_ptr) { - param = (jackctl_parameter_t*)node_ptr->data; - if (opt == jackctl_parameter_get_id(param)) { - break; - } - node_ptr = node_ptr->next; - } + param = (jackctl_parameter_t*)node_ptr->data; + if (opt == jackctl_parameter_get_id(param)) { + break; + } + node_ptr = node_ptr->next; + } if (!optarg && optind < argc && - strlen(argv[optind]) && - argv[optind][0] != '-') { + strlen(argv[optind]) && + argv[optind][0] != '-') { optarg = argv[optind]; } if (optarg) { switch (jackctl_parameter_get_type(param)) { - case JackDriverParamInt: + case JackDriverParamInt: value.i = atoi (optarg); - jackctl_parameter_set_value(param, &value); + jackctl_parameter_set_value(param, &value); break; case JackDriverParamUInt: value.ui = strtoul (optarg, NULL, 10); @@ -333,7 +333,6 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[]) jackctl_parameter_set_value(param, &value); break; case JackDriverParamBool: - /* if (strcasecmp ("false", optarg) == 0 || strcasecmp ("off", optarg) == 0 || @@ -343,10 +342,10 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[]) */ // steph if (strcmp ("false", optarg) == 0 || - strcmp ("off", optarg) == 0 || - strcmp ("no", optarg) == 0 || - strcmp ("0", optarg) == 0 || - strcmp ("(null)", optarg) == 0 ) { + strcmp ("off", optarg) == 0 || + strcmp ("no", optarg) == 0 || + strcmp ("0", optarg) == 0 || + strcmp ("(null)", optarg) == 0 ) { value.i = false; } else { value.i = true; @@ -359,13 +358,13 @@ jackctl_parse_driver_params (jackctl_driver *driver_ptr, int argc, char* argv[]) value.i = true; } else { value = jackctl_parameter_get_default_value(param); - jackctl_parameter_set_value(param, &value); - } + } + jackctl_parameter_set_value(param, &value); } } - free (options); - free (long_options); + free(options); + free(long_options); return 0; } diff --git a/macosx/JackCoreAudioDriver.cpp b/macosx/JackCoreAudioDriver.cpp index a6b854d3..6198f094 100644 --- a/macosx/JackCoreAudioDriver.cpp +++ b/macosx/JackCoreAudioDriver.cpp @@ -156,6 +156,8 @@ static OSStatus DisplayDeviceNames() return err; jack_info("Device name = \'%s\', internal_name = \'%s\' (to be used as -C, -P, or -d parameter)", device_name, internal_name); + printf("Device name = \'%s\', internal_name = \'%s\' (to be used as -C, -P, or -d parameter)", device_name, internal_name); + } return noErr; @@ -1265,10 +1267,10 @@ extern "C" jack_nframes_t systemic_input_latency = 0; jack_nframes_t systemic_output_latency = 0; int async_output_latency = 100; - + for (node = params; node; node = jack_slist_next(node)) { param = (const jack_driver_param_t *) node->data; - + switch (param->character) { case 'd':