Skip to content

Commit

Permalink
jansson: updated to use xavp long value field
Browse files Browse the repository at this point in the history
  • Loading branch information
miconda committed Nov 22, 2022
1 parent 81232ab commit e06fb0a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
7 changes: 2 additions & 5 deletions src/modules/jansson/jansson_funcs.c
Expand Up @@ -431,18 +431,15 @@ static int jansson_xavp2object(json_t *json, sr_xavp_t **head) {
case SR_XTYPE_NULL:
it = json_null();
break;
case SR_XTYPE_INT:
it = json_integer(avp->val.v.i);
case SR_XTYPE_LONG:
it = json_integer((json_int_t)avp->val.v.l);
break;
case SR_XTYPE_STR:
it = json_stringn(avp->val.v.s.s, avp->val.v.s.len);
break;
case SR_XTYPE_TIME:
it = json_integer((json_int_t)avp->val.v.t);
break;
case SR_XTYPE_LONG:
it = json_integer((json_int_t)avp->val.v.l);
break;
case SR_XTYPE_LLONG:
it = json_integer((json_int_t)avp->val.v.ll);
break;
Expand Down
10 changes: 5 additions & 5 deletions src/modules/jansson/jansson_utils.c
Expand Up @@ -96,8 +96,8 @@ int jansson_to_xval(sr_xval_t *val, char** freeme, json_t* v) {
val->v.s.s = (char*)value;
val->v.s.len = strlen(value);
}else if(json_is_boolean(v)) {
val->type = SR_XTYPE_INT;
val->v.i = json_is_true(v) ? 1 : 0;
val->type = SR_XTYPE_LONG;
val->v.l = json_is_true(v) ? 1 : 0;
}else if(json_is_real(v)) {
char* value = NULL;
if(asprintf(&value, "%.15g", json_real_value(v))<0) {
Expand All @@ -110,7 +110,7 @@ int jansson_to_xval(sr_xval_t *val, char** freeme, json_t* v) {
val->v.s.len = strlen(value);
}else if(json_is_integer(v)) {
long long value = json_integer_value(v);
if ((value > INT_MAX) || (value < INT_MIN)) {
if ((value > LONG_MAX) || (value < LONG_MIN)) {
char* svalue = NULL;
if (asprintf(&svalue, "%"JSON_INTEGER_FORMAT, value) < 0) {
ERR("asprintf failed\n");
Expand All @@ -121,8 +121,8 @@ int jansson_to_xval(sr_xval_t *val, char** freeme, json_t* v) {
val->v.s.s = svalue;
val->v.s.len = strlen(svalue);
} else {
val->type = SR_XTYPE_INT;
val->v.i = (int)value;
val->type = SR_XTYPE_LONG;
val->v.l = (long)value;
}
}else if(json_is_null(v)) {
val->type = SR_XTYPE_NULL;
Expand Down

0 comments on commit e06fb0a

Please sign in to comment.