C - 复制整数
问题描述:
所以我使用jansson
库,我想设置一个值: json_object_set_new(event,“error_code”,json_integer(response-> error_code));C - 复制整数
问题是,我需要free
response
结构,但仍然使用我在json_object_set_new
中设置的值。
我应该从response->error_code
复制价值,我该怎么做?
一些背景:
plugin_response: {
if(!response->message && response->error_code == 0) {
response->error_code = JANUS_AUDIOBRIDGE_ERROR_UNKNOWN_ERROR;
if(response->error_cause == NULL) {
response->error_cause = g_strdup_printf("%s", "Invalid response");
}
}
json_t *event = json_object();
if(!response->message && response->error_code != 0) {
/* Prepare JSON error event */
json_object_set_new(event, "audiobridge", json_string("event"));
json_object_set_new(event, "error_code", json_integer(response->error_code));
json_object_set_new(event, "error", json_string(response->error_cause));
} else {
event = json_deep_copy(response->message);
}
if(root != NULL)
json_decref(root);
if(jsep != NULL)
json_decref(jsep);
g_free(transaction);
g_free(response);
return janus_plugin_result_new(JANUS_PLUGIN_OK, NULL, event);
}
编辑:我也使用GLib的,所以如果有此一记漂亮的方法,我洗耳恭听。