1#include "strscpy.h"
2#include <limits.h> /* SSIZE_MAX */
3
4ssize_t uv__strscpy(char* d, const char* s, size_t n) {
5 size_t i;
6
7 for (i = 0; i < n; i++)
8 if ('\0' == (d[i] = s[i]))
9 return i > SSIZE_MAX ? UV_E2BIG : (ssize_t) i;
10
11 if (i == 0)
12 return 0;
13
14 d[--i] = '\0';
15
16 return UV_E2BIG;
17}
18