diff options
Diffstat (limited to 'lib/mem.c')
-rw-r--r-- | lib/mem.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/mem.c b/lib/mem.c new file mode 100644 index 0000000..2ce67f3 --- /dev/null +++ b/lib/mem.c @@ -0,0 +1,27 @@ +#include "string.h" + +void* +memset(void *dest, char c, size_t n) +{ + char *a = dest; + for(size_t i = 0; i < n; i++) a[i] = c; + return dest; +} + +void* +memcpy(void *dest, const void *src, size_t n) +{ + char *a = dest; + const char *b = src; + for(size_t i = 0; i < n; i++) a[i] = b[i]; + return dest; +} + +void* +memmove(void *dest, const void *src, size_t n) +{ + char buffer[n]; + memcpy(buffer, src, n); + memcpy(dest, buffer, n); + return dest; +} |