From 170e8158cbad12fff2f661ed0f09c9c926be23c0 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Mon, 14 Sep 2009 15:13:30 -0400 Subject: [PATCH] strcpy_s() and strcat_s() aren't drop-in replacements for strlcpy() and strlcat() --- lib/roken/strlcat.c | 1 + lib/roken/strlcpy.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/lib/roken/strlcat.c b/lib/roken/strlcat.c index 5b8945351..0b676ef98 100644 --- a/lib/roken/strlcat.c +++ b/lib/roken/strlcat.c @@ -49,4 +49,5 @@ strlcat (char *dst, const char *src, size_t dst_sz) return len + strlcpy (dst + len, src, dst_sz - len); } + #endif diff --git a/lib/roken/strlcpy.c b/lib/roken/strlcpy.c index f8a0bb766..7c1789bd1 100644 --- a/lib/roken/strlcpy.c +++ b/lib/roken/strlcpy.c @@ -36,6 +36,20 @@ #ifndef HAVE_STRLCPY +#if defined(_MSC_VER) && _MSC_VER >= 1400 + +ROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL +strlcpy (char *dst, const char *src, size_t dst_cch) +{ + errno_t e; + + e = strcpy_s(dst, dst_cch, src); + + return strlen (src); +} + +#else + ROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL strlcpy (char *dst, const char *src, size_t dst_sz) { @@ -54,3 +68,5 @@ strlcpy (char *dst, const char *src, size_t dst_sz) } #endif + +#endif