| strscpy(9) - phpMan
STRSCPY(9) Basic C Library Functions STRSCPY(9)
NAME
strscpy - Copy a C-string into a sized buffer
SYNOPSIS
ssize_t strscpy(char * dest, const char * src, size_t count);
ARGUMENTS
dest
Where to copy the string to
src
Where to copy the string from
count
Size of destination buffer
DESCRIPTION
Copy the string, or as much of it as fits, into the dest buffer. The routine returns the
number of characters copied (not including the trailing NUL) or -E2BIG if the destination
buffer wasn't big enough. The behavior is undefined if the string buffers overlap. The
destination buffer is always NUL terminated, unless it's zero-sized.
Preferred to strlcpy since the API doesn't require reading memory from the src string
beyond the specified “count” bytes, and since the return value is easier to error-check
than strlcpy's. In addition, the implementation is robust to the string changing out from
underneath it, unlike the current strlcpy implementation.
Preferred to strncpy since it always returns a valid string, and doesn't unnecessarily
force the tail of the destination buffer to be zeroed. If the zeroing is desired, it's
likely cleaner to use strscpy with an overflow test, then just memset the tail of the dest
buffer.
COPYRIGHT
Kernel Hackers Manual 4.8. January 2017 STRSCPY(9)
|