diff options
author | Brad King <brad.king@kitware.com> | 2019-01-16 20:00:33 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-01-17 15:26:32 (GMT) |
commit | 1e1209729b26312cb511d5995bd57b6f5d35235e (patch) | |
tree | 8fb1927e363a9278f103a9a70a5a7923d398cbaf /Utilities/cmlibuv/src/strscpy.c | |
parent | c59eae7ebc5423c2b06befd762f8639b0f23b7a0 (diff) | |
parent | 4fcb0d0213112bb2fdb04bb27e82543b93cfe41d (diff) | |
download | CMake-1e1209729b26312cb511d5995bd57b6f5d35235e.zip CMake-1e1209729b26312cb511d5995bd57b6f5d35235e.tar.gz CMake-1e1209729b26312cb511d5995bd57b6f5d35235e.tar.bz2 |
Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
libuv 2019-01-15 (f84c5e69)
Diffstat (limited to 'Utilities/cmlibuv/src/strscpy.c')
-rw-r--r-- | Utilities/cmlibuv/src/strscpy.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Utilities/cmlibuv/src/strscpy.c b/Utilities/cmlibuv/src/strscpy.c new file mode 100644 index 0000000..2a2bdce --- /dev/null +++ b/Utilities/cmlibuv/src/strscpy.c @@ -0,0 +1,17 @@ +#include "strscpy.h" +#include <limits.h> /* SSIZE_MAX */ + +ssize_t uv__strscpy(char* d, const char* s, size_t n) { + size_t i; + + for (i = 0; i < n; i++) + if ('\0' == (d[i] = s[i])) + return i > SSIZE_MAX ? UV_E2BIG : (ssize_t) i; + + if (i == 0) + return 0; + + d[--i] = '\0'; + + return UV_E2BIG; +} |