| |
| |
| |
| |
| |
| |
| |
| #include <linux/compiler_attributes.h> |
| #include <linux/types.h> |
| |
| void *memcpy(void *dest, const void *src, size_t n) |
| { |
| <------>int i; |
| <------>const char *s = src; |
| <------>char *d = dest; |
| |
| <------>for (i = 0; i < n; i++) |
| <------><------>d[i] = s[i]; |
| <------>return dest; |
| } |
| |
| void *memset(void *s, int c, size_t n) |
| { |
| <------>int i; |
| <------>char *ss = s; |
| |
| <------>for (i = 0; i < n; i++) |
| <------><------>ss[i] = c; |
| <------>return s; |
| } |
| |
| void * __weak memmove(void *dest, const void *src, size_t n) |
| { |
| <------>unsigned int i; |
| <------>const char *s = src; |
| <------>char *d = dest; |
| |
| <------>if ((uintptr_t)dest < (uintptr_t)src) { |
| <------><------>for (i = 0; i < n; i++) |
| <------><------><------>d[i] = s[i]; |
| <------>} else { |
| <------><------>for (i = n; i > 0; i--) |
| <------><------><------>d[i - 1] = s[i - 1]; |
| <------>} |
| <------>return dest; |
| } |
| |