[sr-dev] git:master:151299d0: core: xavp - new helper function xavp_add_value_after()

Daniel-Constantin Mierla miconda at gmail.com
Tue Jun 12 10:18:06 CEST 2018


Module: kamailio
Branch: master
Commit: 151299d057f858277d32c360221f7a93542c40d3
URL: https://github.com/kamailio/kamailio/commit/151299d057f858277d32c360221f7a93542c40d3

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2018-06-12T10:14:26+02:00

core: xavp - new helper function xavp_add_value_after()

---

Modified: src/core/xavp.c
Modified: src/core/xavp.h

---

Diff:  https://github.com/kamailio/kamailio/commit/151299d057f858277d32c360221f7a93542c40d3.diff
Patch: https://github.com/kamailio/kamailio/commit/151299d057f858277d32c360221f7a93542c40d3.patch

---

diff --git a/src/core/xavp.c b/src/core/xavp.c
index e6acefd9c9..e1cf394171 100644
--- a/src/core/xavp.c
+++ b/src/core/xavp.c
@@ -195,6 +195,26 @@ sr_xavp_t *xavp_add_value(str *name, sr_xval_t *val, sr_xavp_t **list)
 	return avp;
 }
 
+sr_xavp_t *xavp_add_value_after(str *name, sr_xval_t *val, sr_xavp_t *pxavp)
+{
+	sr_xavp_t *avp=0;
+
+	avp = xavp_new_value(name, val);
+	if (avp==NULL)
+		return NULL;
+
+	/* link new xavp */
+	if(pxavp) {
+		avp->next = pxavp->next;
+		pxavp->next = avp;
+	} else {
+		avp->next = *_xavp_list_crt;
+		*_xavp_list_crt = avp;
+	}
+
+	return avp;
+}
+
 sr_xavp_t *xavp_add_xavp_value(str *rname, str *name, sr_xval_t *val, sr_xavp_t **list)
 {
 	sr_xavp_t *ravp=0;
diff --git a/src/core/xavp.h b/src/core/xavp.h
index 2177461d69..83f4f09b15 100644
--- a/src/core/xavp.h
+++ b/src/core/xavp.h
@@ -78,6 +78,7 @@ int xavp_add(sr_xavp_t *xavp, sr_xavp_t **list);
 int xavp_add_last(sr_xavp_t *xavp, sr_xavp_t **list);
 int xavp_add_after(sr_xavp_t *nxavp, sr_xavp_t *pxavp);
 sr_xavp_t *xavp_add_value(str *name, sr_xval_t *val, sr_xavp_t **list);
+sr_xavp_t *xavp_add_value_after(str *name, sr_xval_t *val, sr_xavp_t *pxavp);
 sr_xavp_t *xavp_add_xavp_value(str *rname, str *name, sr_xval_t *val, sr_xavp_t **list);
 sr_xavp_t *xavp_set_value(str *name, int idx, sr_xval_t *val, sr_xavp_t **list);
 sr_xavp_t *xavp_get(str *name, sr_xavp_t *start);




More information about the sr-dev mailing list