Prechádzať zdrojové kódy

core: helper function for pvs to return values based on pairs (char*, len)

Daniel-Constantin Mierla 10 rokov pred
rodič
commit
bca93fd8f6
2 zmenil súbory, kde vykonal 17 pridanie a 0 odobranie
  1. 15 0
      pvapi.c
  2. 2 0
      pvar.h

+ 15 - 0
pvapi.c

@@ -538,6 +538,21 @@ int pv_get_strzval(struct sip_msg *msg, pv_param_t *param,
 	return 0;
 }
 
+/**
+ * convert char* with len to pv_value_t
+ */
+int pv_get_strlval(struct sip_msg *msg, pv_param_t *param,
+		pv_value_t *res, char *sval, int slen)
+{
+	if(res==NULL)
+		return -1;
+
+	res->rs.s = sval;
+	res->rs.len = slen;
+	res->flags = PV_VAL_STR;
+	return 0;
+}
+
 /**
  * convert str-int to pv_value_t (type is str)
  */

+ 2 - 0
pvar.h

@@ -219,6 +219,8 @@ int pv_get_strval(struct sip_msg *msg, pv_param_t *param,
 		pv_value_t *res, str *sval);
 int pv_get_strzval(struct sip_msg *msg, pv_param_t *param,
 		pv_value_t *res, char *sval);
+int pv_get_strlval(struct sip_msg *msg, pv_param_t *param,
+		pv_value_t *res, char *sval, int slen);
 int pv_get_strintval(struct sip_msg *msg, pv_param_t *param,
 		pv_value_t *res, str *sval, int ival);
 int pv_get_intstrval(struct sip_msg *msg, pv_param_t *param,