aboutsummaryrefslogtreecommitdiff
path: root/lib/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'lib/stdlib')
-rw-r--r--lib/stdlib/memcpy.c13
-rw-r--r--lib/stdlib/memset.c7
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/stdlib/memcpy.c b/lib/stdlib/memcpy.c
new file mode 100644
index 0000000..90470d5
--- /dev/null
+++ b/lib/stdlib/memcpy.c
@@ -0,0 +1,13 @@
+void *
+memcpy(void *restrict dest, const void *restrict src, long unsigned n)
+{
+ char *pDest = (char *)dest;
+ const char *pSrc = (const char *)src;
+
+ while (n) {
+ *(pDest++) = *(pSrc++);
+ --n;
+ }
+
+ return dest;
+}
diff --git a/lib/stdlib/memset.c b/lib/stdlib/memset.c
new file mode 100644
index 0000000..ccd46dd
--- /dev/null
+++ b/lib/stdlib/memset.c
@@ -0,0 +1,7 @@
+void *
+memset(void *s, int c, long unsigned n)
+{
+ char *pDest = (char *)s;
+ for (unsigned i = 0; i < n; ++i) pDest[i] = c;
+ return s;
+}