From aaa744cbf633b70e183796e69008cae1923dab00 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sat, 6 Nov 2021 20:21:16 +0100 Subject: add stecpy alternative implementation using gcc builtins --- stecpy-builtin.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 stecpy-builtin.c diff --git a/stecpy-builtin.c b/stecpy-builtin.c new file mode 100644 index 0000000..72f6adc --- /dev/null +++ b/stecpy-builtin.c @@ -0,0 +1,18 @@ +#include + +char * +stecpy(char *dst, char *end, const char *src) +{ + if (dst >= end) + return dst; + + size_t n = strnlen(src, end - dst); + + if (n == end - dst) { + memcpy(dst, src, n - 1); + end[-1] = 0; + return end; + } + + return memcpy(dst, src, n + 1) + n; +} -- cgit 1.4.1