[sr-dev] git:master:2853500c: jsonrpc-s: switched to use json helper macros for numbers

Daniel-Constantin Mierla miconda at gmail.com
Mon Oct 31 20:55:08 CET 2016


Module: kamailio
Branch: master
Commit: 2853500cc73a5dfc66654e6f3555c1c40e072817
URL: https://github.com/kamailio/kamailio/commit/2853500cc73a5dfc66654e6f3555c1c40e072817

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2016-10-31T20:45:18+01:00

jsonrpc-s: switched to use json helper macros for numbers

---

Modified: modules/jsonrpc-s/jsonrpc-s_mod.c

---

Diff:  https://github.com/kamailio/kamailio/commit/2853500cc73a5dfc66654e6f3555c1c40e072817.diff
Patch: https://github.com/kamailio/kamailio/commit/2853500cc73a5dfc66654e6f3555c1c40e072817.patch

---

diff --git a/modules/jsonrpc-s/jsonrpc-s_mod.c b/modules/jsonrpc-s/jsonrpc-s_mod.c
index 9c0fc72..71d0f8d 100644
--- a/modules/jsonrpc-s/jsonrpc-s_mod.c
+++ b/modules/jsonrpc-s/jsonrpc-s_mod.c
@@ -327,7 +327,7 @@ static int jsonrpc_send(jsonrpc_ctx_t* ctx)
 					nj->valuestring, strlen(nj->valuestring));
 		} else {
 			srjson_AddNumberToObject(ctx->jrpl, ctx->jrpl->root, "id",
-					nj->valueint);
+					nj->valuedouble);
 		}
 	}
 
@@ -519,14 +519,20 @@ static int jsonrpc_scan(jsonrpc_ctx_t* ctx, char* fmt, ...)
 			auto_convert = 1;
 			continue;
 		case 'b': /* Bool */
+			uint_ptr = va_arg(ap, unsigned int*);
+			*uint_ptr = SRJSON_GET_UINT(ctx->req_node);
+			break;
 		case 't': /* Date and time */
+			uint_ptr = va_arg(ap, unsigned int*);
+			*uint_ptr = SRJSON_GET_UINT(ctx->req_node);
+			break;
 		case 'd': /* Integer */
 			int_ptr = va_arg(ap, int*);
-			*int_ptr = ctx->req_node->valueint;
+			*int_ptr = SRJSON_GET_INT(ctx->req_node);
 			break;
-		case 'u': /* Integer */
+		case 'u': /* Unsigned Integer */
 			uint_ptr = va_arg(ap, unsigned int*);
-			*uint_ptr = (unsigned int)ctx->req_node->valueint;
+			*uint_ptr = SRJSON_GET_UINT(ctx->req_node);
 			break;
 		case 'f': /* double */
 			double_ptr = va_arg(ap, double*);
@@ -538,7 +544,8 @@ static int jsonrpc_scan(jsonrpc_ctx_t* ctx, char* fmt, ...)
 				*char_ptr = ctx->req_node->valuestring;
 			} else if(auto_convert == 1) {
 				if(ctx->req_node->type==srjson_Number) {
-					*char_ptr = int2str(ctx->req_node->valueint, &stmp.len);
+					*char_ptr = int2str(SRJSON_GET_ULONG(ctx->req_node),
+							&stmp.len);
 				} else {
 					*char_ptr = NULL;
 					goto error;
@@ -555,7 +562,7 @@ static int jsonrpc_scan(jsonrpc_ctx_t* ctx, char* fmt, ...)
 				str_ptr->len = strlen(ctx->req_node->valuestring);
 			} else if(auto_convert == 1) {
 				if(ctx->req_node->type==srjson_Number) {
-					str_ptr->s = int2str(ctx->req_node->valueint,
+					str_ptr->s = int2str(SRJSON_GET_ULONG(ctx->req_node),
 							&str_ptr->len);
 				} else {
 					str_ptr->s = NULL;




More information about the sr-dev mailing list