mirror of
https://github.com/LIV2/libnix.git
synced 2025-12-06 00:23:08 +00:00
Add strlcpy
This commit is contained in:
parent
a91e7b68b4
commit
c3a5fe7612
@ -71,6 +71,7 @@ __stdargs size_t strlen_plus_one(const char *string);
|
|||||||
__stdargs char *strcpy(char *, const char *);
|
__stdargs char *strcpy(char *, const char *);
|
||||||
__stdargs char *strlwr(char *s);
|
__stdargs char *strlwr(char *s);
|
||||||
__stdargs char *stpcpy(char *dst, const char *src);
|
__stdargs char *stpcpy(char *dst, const char *src);
|
||||||
|
__stdargs size_t strlcpy(char * dst, const char * src, size_t maxlen);
|
||||||
__stdargs void *mempcpy(void *, const void *, size_t);
|
__stdargs void *mempcpy(void *, const void *, size_t);
|
||||||
#else
|
#else
|
||||||
#include "strsup.h"
|
#include "strsup.h"
|
||||||
|
|||||||
13
sources/nix13/extra/strlcpy.c
Normal file
13
sources/nix13/extra/strlcpy.c
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#include <ctype.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
size_t strlcpy(char * dst, const char * src, size_t maxlen) {
|
||||||
|
const size_t srclen = strlen(src);
|
||||||
|
if (srclen + 1 < maxlen) {
|
||||||
|
memcpy(dst, src, srclen + 1);
|
||||||
|
} else if (maxlen != 0) {
|
||||||
|
memcpy(dst, src, maxlen - 1);
|
||||||
|
dst[maxlen-1] = '\0';
|
||||||
|
}
|
||||||
|
return srclen;
|
||||||
|
}
|
||||||
13
sources/nix20/extra/strlcpy.c
Normal file
13
sources/nix20/extra/strlcpy.c
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#include <ctype.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
size_t strlcpy(char * dst, const char * src, size_t maxlen) {
|
||||||
|
const size_t srclen = strlen(src);
|
||||||
|
if (srclen + 1 < maxlen) {
|
||||||
|
memcpy(dst, src, srclen + 1);
|
||||||
|
} else if (maxlen != 0) {
|
||||||
|
memcpy(dst, src, maxlen - 1);
|
||||||
|
dst[maxlen-1] = '\0';
|
||||||
|
}
|
||||||
|
return srclen;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user