summaryrefslogtreecommitdiffstats
path: root/sys/libkern
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2008-07-14 21:36:02 +0000
committerobrien <obrien@FreeBSD.org>2008-07-14 21:36:02 +0000
commitc131962593b3653c8ba7b19472b185cf815b50ab (patch)
tree8ff8d84921c49a4a96fac4fe3bee7a59f9781a0a /sys/libkern
parent253913181a592c136cd5e4316e6b0d8da1930ec4 (diff)
downloadFreeBSD-src-c131962593b3653c8ba7b19472b185cf815b50ab.zip
FreeBSD-src-c131962593b3653c8ba7b19472b185cf815b50ab.tar.gz
Match the implementation of the inline function from libkern.h.
Diffstat (limited to 'sys/libkern')
-rw-r--r--sys/libkern/memset.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/libkern/memset.c b/sys/libkern/memset.c
index 39ad120..895e672 100644
--- a/sys/libkern/memset.c
+++ b/sys/libkern/memset.c
@@ -23,18 +23,22 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-#include <sys/types.h>
__FBSDID("$FreeBSD$");
-void *memset(void *, int, size_t);
+#define LIBKERN_INLINE
+#include <sys/types.h>
+#include <sys/libkern.h>
void *
memset(void *b, int c, size_t len)
{
char *bb;
- for (bb = (char *)b; len--; )
- *bb++ = c;
+ if (c == 0)
+ bzero(b, len);
+ else
+ for (bb = (char *)b; len--; )
+ *bb++ = c;
return (b);
}
OpenPOWER on IntegriCloud