int pv_set_spec_value(struct sip_msg* msg, pv_spec_p sp, int op, pv_value_t *value) { if(sp==NULL || !pv_is_w(sp)) return 0; /* no op */ if(pv_alter_context(sp) && is_route_type(LOCAL_ROUTE)) return 0; /* no op */ return sp->setf(msg, &sp->pvp, op, value); }
int pv_get_t_var_inv(struct sip_msg *msg, pv_param_t *param, pv_value_t *res) { pv_spec_t *pv=NULL; if(pv_t_update_inv(msg)) return pv_get_null(msg, param, res); pv = (pv_spec_t*)param->pvn.u.dname; if(pv==NULL || pv_alter_context(pv)) return pv_get_null(msg, param, res); return pv_get_spec_value(&_pv_tinv.msg, pv, res); }