From 54fb56df2413c960d1b73b83e2f1ae2392f21226 Mon Sep 17 00:00:00 2001 From: Slava Monich Date: Tue, 4 Oct 2016 12:51:54 +0300 Subject: [PATCH] main: Make -d option repeatable Concatenating the patterns makes more sense than using the last supplied value and leaking the previous allocated patterns. --- src/main.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main.c b/src/main.c index 46bb90b5..b43bb4e7 100644 --- a/src/main.c +++ b/src/main.c @@ -137,10 +137,19 @@ static gboolean option_version = FALSE; static gboolean parse_debug(const char *key, const char *value, gpointer user_data, GError **error) { - if (value) - option_debug = g_strdup(value); - else + if (value) { + if (option_debug) { + char *prev = option_debug; + + option_debug = g_strconcat(prev, ",", value, NULL); + g_free(prev); + } else { + option_debug = g_strdup(value); + } + } else { + g_free(option_debug); option_debug = g_strdup("*"); + } return TRUE; } @@ -262,5 +271,7 @@ cleanup: __ofono_log_cleanup(); + g_free(option_debug); + return 0; }