2017-04-12 4 views
0

私はjanssonライブラリを使用していますので、値を設定してください: json_object_set_new(イベント、 "error_code"、json_integer(response-> error_code));C - 整数をコピーする

問題は、私はfreeresponse構造体にする必要がありますが、私は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); 
} 

EDIT:私はまた、GLibのを使用していますので、このための気の利いた方法がある場合、私はすべての耳をしています。

答えて

0

Okey、私はこれを読んでThis articleと私は理解しました。私はjson_integer()に渡している整数をコピーする必要はありません。ポインタではなく、構造体の整数から完全に分離されているからです。