From 41b640d30dc12dbb5cebbf7316a191efdd6f2c74 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Sat, 13 Jul 2013 16:37:05 +0200 Subject: common: Implement stpcpy() replacement for systems lacking it --- common/utils.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'common/utils.c') diff --git a/common/utils.c b/common/utils.c index b2b3768..bd2bf1f 100644 --- a/common/utils.c +++ b/common/utils.c @@ -29,6 +29,29 @@ #include "utils.h" +#ifndef HAVE_STPCPY +/** + * Copy characters from one string into another + * + * @note: The strings should not overlap, as the behavior is undefined. + * + * @s1: The source string. + * @s2: The destination string. + * + * @return a pointer to the terminating `\0' character of @s1, + * or NULL if @s1 or @s2 is NULL. + */ +char *stpcpy(char * s1, const char * s2) +{ + if (s1 == NULL || s2 == NULL) + return NULL; + + strcpy(s1, s2); + + return s1 + strlen(s2); +} +#endif + /** * Concatenate strings into a newly allocated string * -- cgit v1.1-32-gdbae