[SR-Dev] git:master: kamailio compatibility, add shm_strdup and pkg_strdup implementation

Henning Westerholt henning.westerholt at 1und1.de
Tue Dec 2 16:10:08 CET 2008


Module: sip-router
Branch: master
Commit: 4bcc8357d12d1b2563cb3c7248804806c1ff4a9d
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=4bcc8357d12d1b2563cb3c7248804806c1ff4a9d

Author: Henning Westerholt <henning.westerholt at 1und1.de>
Committer: Henning Westerholt <henning.westerholt at 1und1.de>
Date:   Tue Dec  2 16:05:48 2008 +0100

kamailio compatibility, add shm_strdup and pkg_strdup implementation

---

 ut.h |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/ut.h b/ut.h
index e8ff01b..45cf559 100644
--- a/ut.h
+++ b/ut.h
@@ -61,6 +61,8 @@
 #include "config.h"
 #include "dprint.h"
 #include "str.h"
+#include "mem/mem.h"
+#include "mem/shm_mem.h"
 
 
 
@@ -592,6 +594,45 @@ static inline int str2sint(str* _s, int* _r)
 	return 0;
 }
 
+/**
+ * \brief Make a copy of a str structure using shm_malloc
+ * \param dst destination
+ * \param src source
+ * \return 0 on success, -1 on failure
+ */
+static inline int shm_str_dup(str* dst, const str* src)
+{
+	dst->s = shm_malloc(src->len);
+	if (!dst->s) {
+		SHM_MEM_ERROR;
+		return -1;
+	}
+
+	memcpy(dst->s, src->s, src->len);
+	dst->len = src->len;
+	return 0;
+}
+
+/**
+ * \brief Make a copy of a str structure using pkg_malloc
+ * \param dst destination
+ * \param src source
+ * \return 0 on success, -1 on failure
+ */
+static inline int pkg_str_dup(str* dst, const str* src)
+{
+	dst->s = pkg_malloc(src->len);
+	if (dst->s==NULL)
+	{
+		PKG_MEM_ERROR;
+		return -1;
+	}
+
+	memcpy(dst->s, src->s, src->len);
+	dst->len = src->len;
+	return 0;
+}
+
 /* converts a username into uid:gid,
  * returns -1 on error & 0 on success */
 int user2uid(int* uid, int* gid, char* user);




More information about the sr-dev mailing list