summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/lib.h1
-rw-r--r--include/string.h6
-rw-r--r--lib/memcpyv.c6
-rw-r--r--lib/memmovev.c6
-rw-r--r--lib/memsetv.c4
5 files changed, 12 insertions, 11 deletions
diff --git a/include/lib.h b/include/lib.h
index 7635845..3ebecfd 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -3,4 +3,5 @@
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
+#include <stdint.h>
#include <string.h>
diff --git a/include/string.h b/include/string.h
index e376918..1977ad2 100644
--- a/include/string.h
+++ b/include/string.h
@@ -59,7 +59,7 @@ extern void *memset(void *restrict dest, int c, size_t n);
* @param n - the byte count
* @returns a pointer to dest
*/
-extern void *memcpyv(volatile void *restrict dest,
+extern volatile void *memcpyv(volatile void *restrict dest,
const volatile void *restrict src, size_t n);
/**
@@ -71,7 +71,7 @@ extern void *memcpyv(volatile void *restrict dest,
* @param n - the byte count
* @returns a pointer to dest
*/
-extern void *memmovev(volatile void *restrict dest,
+extern volatile void *memmovev(volatile void *restrict dest,
const volatile void *restrict src, size_t n);
/**
@@ -81,7 +81,7 @@ extern void *memmovev(volatile void *restrict dest,
* @param n - the byte count
* @returns a pointer to dest
*/
-extern void *memsetv(volatile void *restrict dest, int c, size_t n);
+extern volatile void *memsetv(volatile void *restrict dest, int c, size_t n);
/**
* Calculates the length of the string pointed to by str, excluding
diff --git a/lib/memcpyv.c b/lib/memcpyv.c
index 205d9c1..a4dcd22 100644
--- a/lib/memcpyv.c
+++ b/lib/memcpyv.c
@@ -1,10 +1,10 @@
#include <string.h>
-void *memcpyv(volatile void *restrict dest, const volatile void *restrict src,
+volatile void *memcpyv(volatile void *restrict dest, const volatile void *restrict src,
size_t n)
{
- char *d = dest;
- const char *s = src;
+ volatile char *d = dest;
+ volatile const char *s = src;
for (; n; n--)
*d++ = *s++;
return dest;
diff --git a/lib/memmovev.c b/lib/memmovev.c
index d2fc683..0b21d25 100644
--- a/lib/memmovev.c
+++ b/lib/memmovev.c
@@ -1,9 +1,9 @@
#include <string.h>
-void *memmovev(volatile void *dest, const volatile void *src, size_t n)
+volatile void *memmovev(volatile void *dest, const volatile void *src, size_t n)
{
- char *d = dest;
- const char *s = src;
+ volatile char *d = dest;
+ volatile const char *s = src;
if (d == s)
return d;
diff --git a/lib/memsetv.c b/lib/memsetv.c
index 9039cb7..91fe6a1 100644
--- a/lib/memsetv.c
+++ b/lib/memsetv.c
@@ -1,8 +1,8 @@
#include <string.h>
-void *memsetv(volatile void *dest, int c, size_t n)
+volatile void *memsetv(volatile void *dest, int c, size_t n)
{
- unsigned char *d = dest;
+ volatile unsigned char *d = dest;
for (; n; n--) {
*d++ = c;
};