Skip to content

Commit

Permalink
pv: 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 642530f commit afbd2bf
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 35 deletions.
19 changes: 6 additions & 13 deletions src/modules/pv/pv.c
Expand Up @@ -1423,8 +1423,8 @@ static int ki_xav_seti(sip_msg_t *msg, str *rname, int ival, int _case)
sr_xval_t xval;

memset(&xval, 0, sizeof(sr_xval_t));
xval.type = SR_XTYPE_INT;
xval.v.i = ival;
xval.type = SR_XTYPE_LONG;
xval.v.l = ival;

if(_case) {
xavp = xavi_add_value(rname, &xval, NULL);
Expand Down Expand Up @@ -1771,9 +1771,9 @@ static sr_kemi_xval_t* ki_xavp_get_xval(sr_xavp_t *xavp, int rmode)
sr_kemi_xval_null(&_sr_kemi_pv_xval, rmode);
return &_sr_kemi_pv_xval;
break;
case SR_XTYPE_INT:
case SR_XTYPE_LONG:
_sr_kemi_pv_xval.vtype = SR_KEMIP_INT;
_sr_kemi_pv_xval.v.n = xavp->val.v.i;
_sr_kemi_pv_xval.v.n = xavp->val.v.l;
return &_sr_kemi_pv_xval;
break;
case SR_XTYPE_STR:
Expand All @@ -1787,12 +1787,6 @@ static sr_kemi_xval_t* ki_xavp_get_xval(sr_xavp_t *xavp, int rmode)
return &_sr_kemi_pv_xval;
}
break;
case SR_XTYPE_LONG:
if(snprintf(_pv_ki_xavp_buf, 128, "%ld", (long unsigned)xavp->val.v.l)<0) {
sr_kemi_xval_null(&_sr_kemi_pv_xval, rmode);
return &_sr_kemi_pv_xval;
}
break;
case SR_XTYPE_LLONG:
if(snprintf(_pv_ki_xavp_buf, 128, "%lld", xavp->val.v.ll)<0) {
sr_kemi_xval_null(&_sr_kemi_pv_xval, rmode);
Expand Down Expand Up @@ -1942,17 +1936,16 @@ sr_kemi_dict_item_t* ki_xav_dict_name(sr_xavp_t *xavp, str *name, int _case)
case SR_XTYPE_NULL:
val->vtype = SR_KEMIP_NULL;
break;
case SR_XTYPE_INT:
case SR_XTYPE_LONG:
val->vtype = SR_KEMIP_INT;
val->v.n = avp->val.v.i;
val->v.n = avp->val.v.l;
break;
case SR_XTYPE_STR:
val->vtype = SR_KEMIP_STR;
val->v.s.s = avp->val.v.s.s;
val->v.s.len = avp->val.v.s.len;
break;
case SR_XTYPE_TIME:
case SR_XTYPE_LONG:
case SR_XTYPE_LLONG:
case SR_XTYPE_DATA:
val->vtype = SR_KEMIP_NULL;
Expand Down
39 changes: 17 additions & 22 deletions src/modules/pv/pv_xavp.c
Expand Up @@ -37,19 +37,14 @@ int pv_xavp_get_value(struct sip_msg *msg, pv_param_t *param,
case SR_XTYPE_NULL:
return pv_get_null(msg, param, res);
break;
case SR_XTYPE_INT:
return pv_get_sintval(msg, param, res, avp->val.v.i);
case SR_XTYPE_LONG:
return pv_get_sintval(msg, param, res, avp->val.v.l);
break;
case SR_XTYPE_STR:
return pv_get_strval(msg, param, res, &avp->val.v.s);
break;
case SR_XTYPE_TIME:
if(snprintf(_pv_xavp_buf, 128, "%lu", (long unsigned)avp->val.v.t)<0)
return pv_get_null(msg, param, res);
break;
case SR_XTYPE_LONG:
if(snprintf(_pv_xavp_buf, 128, "%ld", (long unsigned)avp->val.v.l)<0)
return pv_get_null(msg, param, res);
return pv_get_uintval(msg, param, res, (long unsigned)avp->val.v.t);
break;
case SR_XTYPE_LLONG:
if(snprintf(_pv_xavp_buf, 128, "%lld", avp->val.v.ll)<0)
Expand Down Expand Up @@ -319,8 +314,8 @@ int pv_set_xavp(struct sip_msg* msg, pv_param_t *param,

if(val->flags&PV_TYPE_INT)
{
xval.type = SR_XTYPE_INT;
xval.v.i = val->ri;
xval.type = SR_XTYPE_LONG;
xval.v.l = val->ri;
} else {
xval.type = SR_XTYPE_STR;
xval.v.s = val->rs;
Expand Down Expand Up @@ -816,9 +811,9 @@ int pv_var_to_xavp(str *varname, str *xname)
memset(&xval, 0, sizeof(sr_xval_t));
if(it->v.flags==VAR_VAL_INT)
{
xval.type = SR_XTYPE_INT;
xval.v.i = it->v.value.n;
LM_DBG("[%.*s]: %d\n", it->name.len, it->name.s, xval.v.i);
xval.type = SR_XTYPE_LONG;
xval.v.l = it->v.value.n;
LM_DBG("[%.*s]: %ld\n", it->name.len, it->name.s, xval.v.l);
} else {
if(it->v.value.s.len==0) continue;
xval.type = SR_XTYPE_STR;
Expand Down Expand Up @@ -851,9 +846,9 @@ int pv_var_to_xavp(str *varname, str *xname)
memset(&xval, 0, sizeof(sr_xval_t));
if(it->v.flags==VAR_VAL_INT)
{
xval.type = SR_XTYPE_INT;
xval.v.i = it->v.value.n;
LM_DBG("[%.*s]: %d\n", it->name.len, it->name.s, xval.v.i);
xval.type = SR_XTYPE_LONG;
xval.v.l = it->v.value.n;
LM_DBG("[%.*s]: %ld\n", it->name.len, it->name.s, xval.v.l);
} else {
xval.type = SR_XTYPE_STR;
xval.v.s.s = it->v.value.s.s;
Expand Down Expand Up @@ -887,9 +882,9 @@ int pv_xavp_to_var_helper(sr_xavp_t *avp) {
LM_DBG("var:[%.*s] STR:[%.*s]\n", avp->name.len, avp->name.s,
value.s.len, value.s.s);
}
else if(avp->val.type==SR_XTYPE_INT) {
else if(avp->val.type==SR_XTYPE_LONG) {
flags |= VAR_VAL_INT;
value.n = avp->val.v.i;
value.n = avp->val.v.l;
LM_DBG("var:[%.*s] INT:[%ld]\n", avp->name.len, avp->name.s,
value.n);
} else {
Expand Down Expand Up @@ -1068,8 +1063,8 @@ int pv_set_xavu(struct sip_msg* msg, pv_param_t *param,
memset(&xval, 0, sizeof(sr_xval_t));

if(val->flags&PV_TYPE_INT) {
xval.type = SR_XTYPE_INT;
xval.v.i = val->ri;
xval.type = SR_XTYPE_LONG;
xval.v.l = val->ri;
} else {
xval.type = SR_XTYPE_STR;
xval.v.s = val->rs;
Expand Down Expand Up @@ -1393,8 +1388,8 @@ int pv_set_xavi(struct sip_msg* msg, pv_param_t *param,

if(val->flags&PV_TYPE_INT)
{
xval.type = SR_XTYPE_INT;
xval.v.i = val->ri;
xval.type = SR_XTYPE_LONG;
xval.v.l = val->ri;
} else {
xval.type = SR_XTYPE_STR;
xval.v.s = val->rs;
Expand Down

0 comments on commit afbd2bf

Please sign in to comment.