Преглед на файлове

* Added str_redup()

svn: 671
Bryan Drewery преди 22 години
родител
ревизия
aafafa3c59
променени са 4 файла, в които са добавени 28 реда и са изтрити 0 реда
  1. 1 0
      src/compat/Makefile.in
  2. 1 0
      src/compat/compat.h
  3. 18 0
      src/compat/memutil.c
  4. 8 0
      src/compat/memutil.h

+ 1 - 0
src/compat/Makefile.in

@@ -19,6 +19,7 @@ OBJS = inet_aton.o \
 	snprintf.o \
 	memset.o \
 	memcpy.o \
+	memutil.o \
 	strcasecmp.o \
 	strftime.o
 

+ 1 - 0
src/compat/compat.h

@@ -12,6 +12,7 @@
 #include "snprintf.h"
 #include "memset.h"
 #include "memcpy.h"
+#include "memutil.h"
 #include "strcasecmp.h"
 #include "strftime.h"
 

+ 18 - 0
src/compat/memutil.c

@@ -0,0 +1,18 @@
+#include <stdlib.h>
+#include <string.h>
+#include "memcpy.h"
+
+void str_redup(char **str, const char *newstr)
+{
+        int len;
+
+        if (!newstr) {
+                if (*str) free(*str);
+                *str = NULL;
+                return;
+        }
+        len = strlen(newstr) + 1;
+        *str = (char *) realloc(*str, len);
+        egg_memcpy(*str, newstr, len);
+}
+

+ 8 - 0
src/compat/memutil.h

@@ -0,0 +1,8 @@
+#ifndef _MEMUTIL_H
+#define _MEMUTIL_H
+
+
+void str_redup(char **, const char *);
+
+
+#endif /* !_MEMUTIL_H */