aboutsummaryrefslogtreecommitdiff
path: root/sys/libkern
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2008-07-14 21:36:02 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2008-07-14 21:36:02 +0000
commit198918483863a126b2d8b8a05bfc8090640bd3ea (patch)
tree8ff8d84921c49a4a96fac4fe3bee7a59f9781a0a /sys/libkern
parent7972c979c5c2885a94e5e0a488ec1edf23ecd457 (diff)
Notes
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 39ad12069607b..895e67239429a 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);
}