Fix condition to remove dead code 41/268941/5
authorSuyeon Hwang <stom.hwang@samsung.com>
Wed, 5 Jan 2022 04:44:56 +0000 (13:44 +0900)
committerSuyeon Hwang <stom.hwang@samsung.com>
Tue, 15 Feb 2022 06:19:47 +0000 (15:19 +0900)
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 <stom.hwang@samsung.com>
server/ttsd_server.c

index 4821c65e3a1ff0d82b302fc46669460317ef5273..1931fe97769c9a239a2e54f61e9390631d788109 100644 (file)
@@ -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;
 }
 
 /*