Module: kamailio
Branch: master
Commit: 82f13f5d020ebd0ce4ff4c692a4e6d6567f5f5b7
URL: 
https://github.com/kamailio/kamailio/commit/82f13f5d020ebd0ce4ff4c692a4e6d6567f5f5b7

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2015-08-12T11:17:53+02:00

Merge pull request #284 from jnewmano/master

janssonrpc-c: allow null json error property in rpc response

---

Modified: modules/janssonrpc-c/janssonrpc_io.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/82f13f5d020ebd0ce4ff4c692a4e6d6567f5f5b7.diff
Patch: 
https://github.com/kamailio/kamailio/commit/82f13f5d020ebd0ce4ff4c692a4e6d6567f5f5b7.patch

---

diff --git a/modules/janssonrpc-c/janssonrpc_io.c 
b/modules/janssonrpc-c/janssonrpc_io.c
index ffcc247..1e1a82b 100644
--- a/modules/janssonrpc-c/janssonrpc_io.c
+++ b/modules/janssonrpc-c/janssonrpc_io.c
@@ -587,9 +587,12 @@ int handle_response(json_t* response)
        return_obj = json_object();
 
        json_t* error = json_object_get(response, "error");
+       // if the error value is null, we don't care
+       bool _error = error && (json_typeof(error) != JSON_NULL);
+
        json_t* result = json_object_get(response, "result");
 
-       if(error) {
+       if(_error) {
                json_object_set(return_obj, "error", error);
        }
 
@@ -597,7 +600,7 @@ int handle_response(json_t* response)
                json_object_set(return_obj, "result", result);
        }
 
-       if ((!result && !error) || (result && error)) {
+       if ((!result && !_error) || (result && _error)) {
                WARN("bad response\n");
                internal = internal_error(JRPC_ERR_BAD_RESP, req->payload);
                json_object_update(return_obj, internal);
@@ -621,7 +624,7 @@ int handle_response(json_t* response)
                goto free_and_end;
        }
 
-       if(error) {
+       if(_error) {
                // get code from error
                json_t* _code = json_object_get(error, "code");
                if(_code) {


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to