Replace calls to strcpy() and strncpy() with the newly introduced uv__strscpy() function that is meticulous about zero-terminating the destination buffer. PR-URL: https://github.com/libuv/libuv/pull/2065 Refs: https://www.kernel.org/doc/htmldocs/kernel-api/API-strscpy.html Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
19 lines
606 B
C
19 lines
606 B
C
#ifndef UV_STRSCPY_H_
|
|
#define UV_STRSCPY_H_
|
|
|
|
/* Include uv.h for its definitions of size_t and ssize_t.
|
|
* size_t can be obtained directly from <stddef.h> but ssize_t requires
|
|
* some hoop jumping on Windows that I didn't want to duplicate here.
|
|
*/
|
|
#include "uv.h"
|
|
|
|
/* Copies up to |n-1| bytes from |d| to |s| and always zero-terminates
|
|
* the result, except when |n==0|. Returns the number of bytes copied
|
|
* or UV_E2BIG if |d| is too small.
|
|
*
|
|
* See https://www.kernel.org/doc/htmldocs/kernel-api/API-strscpy.html
|
|
*/
|
|
ssize_t uv__strscpy(char* d, const char* s, size_t n);
|
|
|
|
#endif /* UV_STRSCPY_H_ */
|