From 595d44647068451df0fb7033b0cba3ebfce53c42 Mon Sep 17 00:00:00 2001 From: Xavier Roche Date: Mon, 19 May 2014 19:15:16 +0000 Subject: Added strlcpybuff() macro. --- src/htssafe.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/htssafe.h b/src/htssafe.h index 57013fb..329d12a 100644 --- a/src/htssafe.h +++ b/src/htssafe.h @@ -150,6 +150,14 @@ static HTS_UNUSED void htssafe_compile_time_check_(void) { #define strlcatbuff(A, B, S) \ strncat_safe_(A, S, B, \ HTS_IS_NOT_CHAR_BUFFER(B) ? (size_t) -1 : sizeof(B), (size_t) -1, \ + "overflow while appending '" #B "' to '"#A"'", __FILE__, __LINE__) + +/** + * Copy characters of "B" to "A", "A" having a maximum capacity of "S". + */ +#define strlcpybuff(A, B, S) \ + strcpy_safe_(A, S, B, \ + HTS_IS_NOT_CHAR_BUFFER(B) ? (size_t) -1 : sizeof(B), \ "overflow while copying '" #B "' to '"#A"'", __FILE__, __LINE__) static HTS_INLINE HTS_UNUSED size_t strlen_safe_(const char *source, const size_t sizeof_source, -- cgit v1.2.3