summaryrefslogtreecommitdiff
path: root/src/lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.c')
-rw-r--r--src/lib.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib.c b/src/lib.c
index bd8e335..f91cbc2 100644
--- a/src/lib.c
+++ b/src/lib.c
@@ -15,6 +15,13 @@ void *memcpy(void *restrict dest, const void *restrict src, unsigned long n) {
return dest;
}
+volatile void *memcpyv(volatile void *dest, const volatile void *src, unsigned long n) {
+ volatile char *d = dest;
+ const volatile char *s = src;
+ for (; n; n--) *d++ = *s++;
+ return dest;
+}
+
void *memmove(void *dest, const void *src, unsigned long n) {
char *d = dest;
const char *s = src;
@@ -38,6 +45,14 @@ void *memset(void *restrict dest, int c, unsigned long n) {
return dest;
}
+volatile void *memsetv(volatile void *dest, int c, unsigned long n) {
+ volatile unsigned char *d = dest;
+ for (; n; n--) {
+ *d++ = c;
+ };
+ return dest;
+}
+
int strncmp(const char *restrict lhs, const char *restrict rhs, unsigned long n) {
const unsigned char *l=(void *)lhs, *r=(void *)rhs;
if (!n--) return 0;