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