Add memmove() to libkern.
authorRui Paulo <rpaulo@FreeBSD.org>
Thu, 18 Feb 2010 14:04:15 +0000 (14:04 +0000)
committerRui Paulo <rpaulo@FreeBSD.org>
Thu, 18 Feb 2010 14:04:15 +0000 (14:04 +0000)
sys/conf/files
sys/libkern/memmove.c [new file with mode: 0644]
sys/sys/libkern.h

index 89d4d1a..c21988e 100644 (file)
@@ -1592,6 +1592,7 @@ libiconv/iconv_converter_if.m             optional libiconv
 libkern/index.c                                standard
 libkern/inet_ntoa.c                    standard
 libkern/mcount.c                       optional        profiling-routine
+libkern/memmove.c                      standard
 libkern/qsort.c                                standard
 libkern/random.c                       standard
 libkern/rindex.c                       standard
diff --git a/sys/libkern/memmove.c b/sys/libkern/memmove.c
new file mode 100644 (file)
index 0000000..5ee1faa
--- /dev/null
@@ -0,0 +1,38 @@
+/*-
+ * Copyright (c) 2009 Roman Divacky <rdivacky@FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD: head/sys/libkern/memmove.c 189170 2009-02-28 16:21:25Z ed $
+ * $DragonFly$
+ */
+
+#include <sys/libkern.h>
+
+void *
+memmove(void *dest, const void *src, size_t n)
+{
+
+       bcopy(src, dest, n);
+       return (dest);
+}
index 637e75e..8e7ada8 100644 (file)
@@ -125,6 +125,8 @@ int _kfnmatch(const char *, const char *, int, int);
  * memset can't be an inline, it is used by gcc-4.x directly.
  */
 void   *memset(void *b, int c, size_t len);
+void   *memmove(void *s1, const void *s2, size_t n);
+
 
 static __inline int
 kfnmatch(const char *pattern, const char *string, int flags)