diff options
-rw-r--r-- | src/util/StringAPI.hxx | 13 | ||||
-rw-r--r-- | src/util/WStringAPI.hxx | 13 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/util/StringAPI.hxx b/src/util/StringAPI.hxx index 334e9dee7..08087f5f8 100644 --- a/src/util/StringAPI.hxx +++ b/src/util/StringAPI.hxx @@ -101,6 +101,19 @@ UnsafeCopyString(char *dest, const char *src) strcpy(dest, src); } +gcc_nonnull_all +static inline char * +UnsafeCopyStringP(char *dest, const char *src) +{ +#if defined(WIN32) || defined(__BIONIC__) + /* emulate stpcpy() */ + UnsafeCopyString(dest, src); + return dest + StringLength(dest); +#else + return stpcpy(dest, src); +#endif +} + /** * Checks whether #a and #b are equal. */ diff --git a/src/util/WStringAPI.hxx b/src/util/WStringAPI.hxx index 59ee980f4..e020ecd7f 100644 --- a/src/util/WStringAPI.hxx +++ b/src/util/WStringAPI.hxx @@ -97,6 +97,19 @@ UnsafeCopyString(wchar_t *dest, const wchar_t *src) wcscpy(dest, src); } +gcc_nonnull_all +static inline wchar_t * +UnsafeCopyStringP(wchar_t *dest, const wchar_t *src) +{ +#if defined(WIN32) || defined(__BIONIC__) + /* emulate wcpcpy() */ + UnsafeCopyString(dest, src); + return dest + StringLength(dest); +#else + return wcpcpy(dest, src); +#endif +} + /** * Checks whether str1 and str2 are equal. * @param str1 String 1 |