|
@@ -716,3 +716,42 @@ int fixup_free_none_spve(void** param, int param_no)
|
|
return fixup_free_spve_null(param, 1);
|
|
return fixup_free_spve_null(param, 1);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+int fixup_vstr_all(void** param, int param_no)
|
|
|
|
+{
|
|
|
|
+ str s;
|
|
|
|
+ pv_elem_t *xm;
|
|
|
|
+
|
|
|
|
+ s.s = (char*)(*param);
|
|
|
|
+ s.len = strlen(s.s);
|
|
|
|
+ if(pv_parse_format(&s, &xm)<0) {
|
|
|
|
+ LM_ERR("invalid parameter format [%s]\n", (char*)(*param));
|
|
|
|
+ return E_UNSPEC;
|
|
|
|
+ }
|
|
|
|
+ *param = (void*)xm;
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+int fixup_free_vstr_all(void** param, int param_no)
|
|
|
|
+{
|
|
|
|
+ pv_elem_free_all((pv_elem_t*)(*param));
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+/**
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+int fixup_get_vstr_buf(sip_msg_t *msg, gparam_t *p, char *buf, int blen)
|
|
|
|
+{
|
|
|
|
+ if(pv_printf(msg, (pv_elem_t*)p, buf, &blen)<0) {
|
|
|
|
+ LM_ERR("unable to get the value\n");
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+ return -1;
|
|
|
|
+}
|