diff options
Diffstat (limited to 'stecpe.c')
-rw-r--r-- | stecpe.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/stecpe.c b/stecpe.c new file mode 100644 index 0000000..0cfbaad --- /dev/null +++ b/stecpe.c @@ -0,0 +1,21 @@ +#include <stddef.h> +#include <string.h> + +char * +stecpe(char *dst, const char *end, const char *src, const char *srcend) +{ + if (dst >= end) + return dst; + + size_t l = end - dst - 1; + size_t t = 1; + if (srcend - src < l) { + l = srcend - src; + t = 0; + } + + memcpy(dst, src, l); + dst[l] = 0; + + return dst + l + t; +} |