diff options
Diffstat (limited to 'memory/strlcat.c')
-rw-r--r-- | memory/strlcat.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/memory/strlcat.c b/memory/strlcat.c new file mode 100644 index 0000000..3061500 --- /dev/null +++ b/memory/strlcat.c @@ -0,0 +1,11 @@ +#include "memory.h" + +size_t strlcat(char *destination, char const *source, size_t max_lenght) +{ + size_t destination_lenght = strnlen(destination, max_lenght); + if (destination_lenght == max_lenght) + return destination_lenght + strlen(source); + return destination_lenght + strlcpy(destination + destination_lenght, + source, + max_lenght - destination_lenght); +} |