From 0227125e0f5c103201c09f1beffd41fe99ea4069 Mon Sep 17 00:00:00 2001 From: Wootak Jung Date: Thu, 10 Mar 2016 10:17:41 +0900 Subject: [PATCH] Changed glib to stdlib to use free() Change-Id: I248af6015f4174d02551553467f73ff540164c74 --- src/telephony_call.c | 2 +- src/telephony_modem.c | 31 ++++++++++++++++++++----------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/telephony_call.c b/src/telephony_call.c index 143aa09..1d01bba 100644 --- a/src/telephony_call.c +++ b/src/telephony_call.c @@ -300,7 +300,7 @@ int telephony_call_get_number(telephony_call_h call_handle, char **number) CHECK_INPUT_PARAMETER(call_handle); CHECK_INPUT_PARAMETER(number); - *number = g_strdup(((telephony_call_info_s *)call_handle)->number); + *number = strdup(((telephony_call_info_s *)call_handle)->number); return TELEPHONY_ERROR_NONE; } diff --git a/src/telephony_modem.c b/src/telephony_modem.c index ad488fc..73bfb90 100644 --- a/src/telephony_modem.c +++ b/src/telephony_modem.c @@ -31,9 +31,7 @@ int telephony_modem_get_imei(telephony_h handle, char **imei) { GVariant *gv = NULL; GError *gerr = NULL; - int tapi_result; - char *tapi_imei = NULL; - int error = TELEPHONY_ERROR_OPERATION_FAILED; + int error = TELEPHONY_ERROR_NONE; TapiHandle *tapi_h; CHECK_TELEPHONY_SUPPORTED(TELEPHONY_FEATURE); @@ -47,13 +45,19 @@ int telephony_modem_get_imei(telephony_h handle, char **imei) "GetIMEI", NULL, NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &gerr); if (gv) { + int tapi_result; + char *tapi_imei = NULL; + g_variant_get(gv, "(is)", &tapi_result, &tapi_imei); if (tapi_result == 0) { - if (tapi_imei != NULL && strlen(tapi_imei) != 0) { - *imei = g_strdup_printf("%s", tapi_imei); - error = TELEPHONY_ERROR_NONE; - } + if (tapi_imei != NULL && strlen(tapi_imei) != 0) + *imei = strdup(tapi_imei); + else + *imei = strdup(""); g_free(tapi_imei); + } else { + LOGE("OPERATION_FAILED"); + error = TELEPHONY_ERROR_OPERATION_FAILED; } g_variant_unref(gv); } else { @@ -61,6 +65,9 @@ int telephony_modem_get_imei(telephony_h handle, char **imei) if (strstr(gerr->message, "AccessDenied")) { LOGE("PERMISSION_DENIED"); error = TELEPHONY_ERROR_PERMISSION_DENIED; + } else { + LOGE("OPERATION_FAILED"); + error = TELEPHONY_ERROR_OPERATION_FAILED; } g_error_free(gerr); } @@ -118,7 +125,7 @@ int telephony_modem_get_power_status(telephony_h handle, int telephony_modem_get_meid(telephony_h handle, char **meid) { - int ret = TELEPHONY_ERROR_OPERATION_FAILED; + int ret = TELEPHONY_ERROR_NONE; TapiHandle *tapi_h; GVariant *gv = NULL; GError *gerr = NULL; @@ -136,12 +143,14 @@ int telephony_modem_get_meid(telephony_h handle, char **meid) if (gv) { int tapi_result; char *tapi_esn = NULL, *tapi_meid = NULL, *tapi_imei = NULL, *tapi_imeisv = NULL; + g_variant_get(gv, "(issss)", &tapi_result, &tapi_esn, &tapi_meid, &tapi_imei, &tapi_imeisv); if (tapi_result == 0) { - ret = TELEPHONY_ERROR_NONE; - *meid = strdup(tapi_meid); - + if (tapi_meid != NULL && strlen(tapi_meid) != 0) + *meid = strdup(tapi_meid); + else + *meid = strdup(""); g_free(tapi_esn); g_free(tapi_meid); g_free(tapi_imei); -- 2.7.4