return 0;
}
+void __stt_parser_time_info_free(void* data)
+{
+ stt_result_time_info_s* time_info = (stt_result_time_info_s*)data;
+
+ if (NULL != time_info) {
+ if (NULL != time_info->text) {
+ free(time_info->text);
+ time_info->text = NULL;
+ }
+
+ free(time_info);
+ }
+}
+
int stt_parser_get_time_info(GSList** time_list)
{
if (NULL == time_list) {
key = xmlGetProp(cur, (const xmlChar*)STT_TAG_TIME_COUNT);
if (NULL == key) {
SLOG(LOG_ERROR, stt_tag(), "[ERROR] <%s> has no content", STT_TAG_TIME_COUNT);
+
+ if (NULL != temp_time_list) {
+ g_slist_free_full(temp_time_list, __stt_parser_time_info_free);
+ temp_time_list = NULL;
+ }
xmlFreeDoc(doc);
return -1;
}
SLOG(LOG_ERROR, stt_tag(), "[ERROR] Memory alloc error!!");
if (NULL != temp_time_list) {
- g_slist_free_full(temp_time_list, free);
+ g_slist_free_full(temp_time_list, __stt_parser_time_info_free);
temp_time_list = NULL;
}
xmlFreeDoc(doc);