xref: /illumos-gate/usr/src/uts/common/gssapi/mechs/krb5/krb5/os/krb_memset.c (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1 /*
2  * Copyright 2002-2003 Sun Microsystems, Inc.  All rights reserved.
3  * Use is subject to license terms.
4  */
5 
6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
7 
8 #include <k5-int.h>
9 
10 /*
11  * Note, there is no memset() in kernel land.  This code is a replacement for
12  * use in the kerberos kernel mech.
13  * As a performance enhancement, bzero is called if the fill pattern is 0.
14  */
15 void *
16 krb5_memset(void *sp1, int c, size_t n)
17 {
18 	if (n > 0) {
19 		if (c == 0) {
20 			bzero(sp1, n);
21 		} else {
22 			unsigned char *sp = sp1;
23 			do {
24 				*sp++ = (unsigned char)c;
25 			} while (--n != 0);
26 		}
27 	}
28 
29 	return (sp1);
30 }
31