xstrncpy saga
authorNelson Ferreira <nelson.ferreira@ieee.org>
Fri, 2 Mar 2012 22:29:57 +0000 (17:29 -0500)
committerNelson Ferreira <nelson.ferreira@ieee.org>
Fri, 2 Mar 2012 22:29:57 +0000 (17:29 -0500)
* src/sysdep.h (xstrncpy): New inline function.
* src/sysdep.h (xstpncpy): Use xstrncpy instead of strncpy

Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
src/sysdep.h

index c506d26..7b8fd87 100644 (file)
@@ -189,8 +189,15 @@ extern_inline char *xdirname(const char *file);
 #define xstrcmp                strcmp
 #define xstrcat                strcat
 #define xstrncmp       strncmp
-#define xstrncpy       strncpy
 #define xstrncat       strncat
+
+extern_inline char*
+xstrncpy(char* target, const char*source, size_t len)
+{
+       *target ='\0';
+       strncat(target,source,len-1);
+}
+
 #if defined HAVE_STPCPY
 # define xstpcpy       stpcpy
 #else
@@ -218,7 +225,7 @@ extern_inline char*
 xstpncpy(char *target, const char *source, size_t len)
 {
        char *p = target;
-       strncpy(target, source, len);
+       xstrncpy(target, source, len);
        p += len;
        return p;
 }