diff options
Diffstat (limited to 'sys/libkern')
-rw-r--r-- | sys/libkern/memset.c | 12 |
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); } |