char *nameval = (char *)json_object_get_string_member(ringtone, "name");
char *pathval = (char *)json_object_get_string_member(ringtone, "path");
SETTING_TRACE("(%s) --- (%s) \n", nameval, pathval);
- if (callback) {
+ if (callback && pathval) {
char* path = strdup(pathval);
bool ret = callback(i, (void *)(path), data);
if (ret == false) {
SETTING_TRACE("quit the iteration by return value == false : %d", ret);
break;
}
+ FREE(path);
} else {
SETTING_TRACE("--> callback is NULL");
}
}
+
+ g_object_unref(parser);
}
int system_setting_list_incoming_call_ringtone(system_settings_key_e key, system_settings_iter_cb callback, void *data)