From: Suyeon Hwang Date: Wed, 5 Jan 2022 04:44:56 +0000 (+0900) Subject: Fix condition to remove dead code X-Git-Tag: submit/tizen/20220218.073949~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9cba360d0dbccbe876c26670072f8ad3e43f31d;p=platform%2Fcore%2Fuifw%2Ftts.git Fix condition to remove dead code In current code, speak_data is not null if ttsd_data_get_speak_data() returns error none, so null check on line #99 ~ #102 would become dead code. To remove this dead code, this patch fixes the condition to check the result of ttsd_data_get_speak_data(). And this patch fixes some potential memory leak and enhances the readability. Change-Id: Ic8dcf0eea79cb57a4a8ad8cf6afc9d59fcd60e49 Signed-off-by: Suyeon Hwang --- diff --git a/server/ttsd_server.c b/server/ttsd_server.c index 4821c65e..1931fe97 100644 --- a/server/ttsd_server.c +++ b/server/ttsd_server.c @@ -63,7 +63,7 @@ static bool g_is_terminated = false; /* Function definitions */ -static int __synthesis(unsigned int uid); +static void __synthesis(unsigned int uid); static Eina_Bool __wait_synthesis(void *data) { @@ -89,86 +89,77 @@ static Eina_Bool __wait_synthesis(void *data) return EINA_FALSE; } -static int __synthesis(unsigned int uid) +static void __synthesis(unsigned int uid) { SLOG(LOG_DEBUG, tts_tag(), "@@@ SYNTHESIS START"); speak_data_s* speak_data = NULL; - if (0 == ttsd_data_get_speak_data(uid, &speak_data)) { - if (NULL == speak_data) { - SLOG(LOG_WARN, tts_tag(), "[Server] speak data is null"); - return 0; - } - - int pid = ttsd_data_get_pid(uid); - if (pid <= 0) { - SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to get pid. uid(%u)", uid); - ttsd_data_destroy_speak_data(speak_data); - speak_data = NULL; - return -1; - } - - char appid[1024] = {0, }; - if (0 != aul_app_get_appid_bypid(pid, appid, sizeof(appid) - 1)) { - SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to get app id"); - } - - if (NULL == speak_data->lang || NULL == speak_data->text) { - SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Current data is NOT valid"); - ttsd_server_stop(uid); - - ttsdc_ipc_send_set_state_message(pid, uid, APP_STATE_READY); + int ret = ttsd_data_get_speak_data(uid, &speak_data); + if (TTSD_ERROR_NONE != ret || NULL == speak_data) { + SLOG(LOG_DEBUG, tts_tag(), "@@@ Fail to get speak data. ret(%d)", ret); + SLOG(LOG_DEBUG, tts_tag(), "@@@ SYNTHESIS END"); + return; + } - ttsd_data_destroy_speak_data(speak_data); - speak_data = NULL; + int pid = ttsd_data_get_pid(uid); + if (pid <= 0) { + SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to get pid. uid(%u)", uid); + ttsd_data_destroy_speak_data(speak_data); + speak_data = NULL; + return; + } - return 0; - } + char appid[1024] = {0, }; + if (0 != aul_app_get_appid_bypid(pid, appid, sizeof(appid) - 1)) { + SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Fail to get app id"); + } - g_utt.uid = uid; - g_utt.uttid = speak_data->utt_id; + if (NULL == speak_data->lang || NULL == speak_data->text) { + SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] Current data is NOT valid"); + ttsd_server_stop(uid); + ttsdc_ipc_send_set_state_message(pid, uid, APP_STATE_READY); + ttsd_data_destroy_speak_data(speak_data); + speak_data = NULL; + return; + } - char* credential = ttsd_data_get_credential(uid); + g_utt.uid = uid; + g_utt.uttid = speak_data->utt_id; - SLOG(LOG_INFO, tts_tag(), "-----------------------------------------------------------"); - SLOG(LOG_INFO, tts_tag(), "ID : uid (%u), uttid(%d) ", g_utt.uid, g_utt.uttid); - SLOG(LOG_INFO, tts_tag(), "Voice : langauge(%s), type(%d), speed(%d)", speak_data->lang, speak_data->vctype, speak_data->speed); - SLOG(LOG_INFO, tts_tag(), "Text : %s", speak_data->text); - SLOG(LOG_INFO, tts_tag(), "Credential : %s", credential); - SLOG(LOG_INFO, tts_tag(), "-----------------------------------------------------------"); + char* credential = ttsd_data_get_credential(uid); - int ret = 0; - ttsd_set_synth_control(TTSD_SYNTHESIS_CONTROL_DOING); - ret = ttsd_engine_start_synthesis(speak_data->lang, speak_data->vctype, speak_data->text, speak_data->speed, appid, credential, NULL); - if (0 != ret) { - SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] * FAIL to start SYNTHESIS !!!! * "); + SLOG(LOG_INFO, tts_tag(), "-----------------------------------------------------------"); + SLOG(LOG_INFO, tts_tag(), "ID : uid (%u), uttid(%d) ", g_utt.uid, g_utt.uttid); + SLOG(LOG_INFO, tts_tag(), "Voice : langauge(%s), type(%d), speed(%d)", speak_data->lang, speak_data->vctype, speak_data->speed); + SLOG(LOG_INFO, tts_tag(), "Text : %s", speak_data->text); + SLOG(LOG_INFO, tts_tag(), "Credential : %s", credential); + SLOG(LOG_INFO, tts_tag(), "-----------------------------------------------------------"); - ttsd_set_synth_control(TTSD_SYNTHESIS_CONTROL_DONE); + ttsd_set_synth_control(TTSD_SYNTHESIS_CONTROL_DOING); + ret = ttsd_engine_start_synthesis(speak_data->lang, speak_data->vctype, speak_data->text, speak_data->speed, appid, credential, NULL); + if (TTSD_ERROR_NONE != ret) { + SLOG(LOG_ERROR, tts_tag(), "[Server ERROR] * FAIL to start SYNTHESIS !!!! * "); - ttsd_server_stop(uid); + ttsd_set_synth_control(TTSD_SYNTHESIS_CONTROL_DONE); + ttsd_server_stop(uid); - int pid = ttsd_data_get_pid(uid); - if (pid <= 0) { - SLOG(LOG_WARN, tts_tag(), "[Server WARNING] Fail to send set_state_message. uid(%u)", uid); - } else { - ttsdc_ipc_send_set_state_message(pid, uid, APP_STATE_READY); - } + int pid = ttsd_data_get_pid(uid); + if (pid <= 0) { + SLOG(LOG_WARN, tts_tag(), "[Server WARNING] Fail to send set_state_message. uid(%u)", uid); } else { - g_wait_timer = ecore_timer_add(0.05, __wait_synthesis, NULL); + ttsdc_ipc_send_set_state_message(pid, uid, APP_STATE_READY); } - - free(credential); - credential = NULL; - ttsd_data_destroy_speak_data(speak_data); - speak_data = NULL; } else { - ttsd_data_destroy_speak_data(speak_data); - speak_data = NULL; + g_wait_timer = ecore_timer_add(0.05, __wait_synthesis, (void*)credential); } + free(credential); + credential = NULL; + ttsd_data_destroy_speak_data(speak_data); + speak_data = NULL; SLOG(LOG_DEBUG, tts_tag(), "@@@ SYNTHESIS END"); - return 0; + return; } /*