1 /*
2 * Copyright 2002-2003 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
6 #include <k5-int.h>
7
8 /*
9 * Note, there is no memset() in kernel land. This code is a replacement for
10 * use in the kerberos kernel mech.
11 * As a performance enhancement, bzero is called if the fill pattern is 0.
12 */
13 void *
krb5_memset(void * sp1,int c,size_t n)14 krb5_memset(void *sp1, int c, size_t n)
15 {
16 if (n > 0) {
17 if (c == 0) {
18 bzero(sp1, n);
19 } else {
20 unsigned char *sp = sp1;
21 do {
22 *sp++ = (unsigned char)c;
23 } while (--n != 0);
24 }
25 }
26
27 return (sp1);
28 }
29