summaryrefslogtreecommitdiffstats
path: root/sys/libkern/memset.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/libkern/memset.c')
-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