diff options
Diffstat (limited to 'src/isdn/main.c')
-rw-r--r-- | src/isdn/main.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/isdn/main.c b/src/isdn/main.c index bf86c5a..e49a287 100644 --- a/src/isdn/main.c +++ b/src/isdn/main.c @@ -193,7 +193,7 @@ static int handle_options(int short_option, int argi, char **argv) law = 'u'; break; case 'p': - portname = strdup(argv[argi]); + portname = options_strdup(argv[argi]); break; case 'n': ntmode = 1; @@ -211,13 +211,13 @@ static int handle_options(int short_option, int argi, char **argv) layer2hold = atoi(argv[argi]); break; case OPT_CHANNEL_OUT: - channel_out = strdup(argv[argi]); + channel_out = options_strdup(argv[argi]); break; case OPT_CHANNEL_IN: - channel_in = strdup(argv[argi]); + channel_in = options_strdup(argv[argi]); break; case OPT_TIMEOUTS: - timeouts = strdup(argv[argi]); + timeouts = options_strdup(argv[argi]); break; case OPT_TX_DELAY: tx_delay = atoi(argv[argi]); @@ -229,7 +229,7 @@ static int handle_options(int short_option, int argi, char **argv) rx_gain = atoi(argv[argi]) / 6; break; case OPT_PIPELINE: - pipeline = strdup(argv[argi]); + pipeline = options_strdup(argv[argi]); break; case OPT_DTMF: dtmf = atoi(argv[argi]); @@ -261,7 +261,7 @@ static int handle_options(int short_option, int argi, char **argv) fprintf(stderr, "Too many osmo-cc args!\n"); break; } - cc_argv[cc_argc++] = strdup(argv[argi]); + cc_argv[cc_argc++] = options_strdup(argv[argi]); break; default: return -EINVAL; @@ -304,7 +304,7 @@ int main(int argc, char *argv[]) if (!isdn_ep) goto error; - cc_argv[cc_argc++] = strdup("remote auto"); + cc_argv[cc_argc++] = options_strdup("remote auto"); /* handle options / config file */ add_options(); @@ -373,6 +373,8 @@ error: if (layer3_initialized) cleanup_layer3(); + options_free(); + return 0; } |