diff options
Diffstat (limited to 'klibc/klibc/memccpy.c')
-rw-r--r-- | klibc/klibc/memccpy.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/klibc/klibc/memccpy.c b/klibc/klibc/memccpy.c new file mode 100644 index 0000000000..22f68deaad --- /dev/null +++ b/klibc/klibc/memccpy.c @@ -0,0 +1,23 @@ +/* + * memccpy.c + * + * memccpy() + */ + +#include <stddef.h> +#include <string.h> + +void *memccpy(void *dst, const void *src, int c, size_t n) +{ + char *q = dst; + const char *p = src; + char ch; + + while ( n-- ) { + *q++ = ch = *p++; + if ( ch == (char)c ) + return q; + } + + return NULL; /* No instance of "c" found */ +} |