summaryrefslogtreecommitdiff
path: root/libc/string/generic/mempcpy.c
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2004-09-02 14:39:38 +0000
committerManuel Novoa III <mjn3@codepoet.org>2004-09-02 14:39:38 +0000
commitbec90733b9de6e7d75b8bda19b3f0a7117e6b78d (patch)
tree474ca0f3b80b7990ff33e547d42c1e7dc3014e3b /libc/string/generic/mempcpy.c
parentc4cedfc718426337b0215c256c184d2b4e20cd06 (diff)
Add a couple of mips-specific string funcs.
Port the generic optimized string funcs from glibc, with some tweaks to cut their size a little. The main change is making memmove call memcpy for forward copying to trim redundant code. Make use of both the generic and arch-specific speed-optimized string funcs configurable. Arch-specific take precedence over generic, and generic takes precedence over basic size-optimized uClibc funcs.
Diffstat (limited to 'libc/string/generic/mempcpy.c')
-rw-r--r--libc/string/generic/mempcpy.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libc/string/generic/mempcpy.c b/libc/string/generic/mempcpy.c
new file mode 100644
index 000000000..46a2eaf92
--- /dev/null
+++ b/libc/string/generic/mempcpy.c
@@ -0,0 +1,18 @@
+/* Copy memory to memory until the specified number of bytes
+ has been copied, return pointer to following byte.
+ Overlap is NOT handled correctly.
+*/
+
+/* Ditch the glibc version and just wrap memcpy. */
+
+#include <string.h>
+
+#undef mempcpy
+#undef __mempcpy
+
+void *__mempcpy (void *dstpp, const void *srcpp, size_t len)
+{
+ memcpy(dstpp, srcpp, len);
+ return (void *)(((char *)dstpp) + len);
+}
+weak_alias (__mempcpy, mempcpy)