1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #include <sys/types.h>
- #include <string.h>
- size_t
- strlcpy(char *dst, const char *src, size_t dsize)
- {
- const char *osrc = src;
- size_t nleft = dsize;
-
- if (nleft != 0) {
- while (--nleft != 0) {
- if ((*dst++ = *src++) == '\0')
- break;
- }
- }
-
- if (nleft == 0) {
- if (dsize != 0)
- *dst = '\0';
- while (*src++)
- ;
- }
- return(src - osrc - 1);
- }
|