1/*
2 * Define string ops: strchr strrchr memcmp memmove memset
3 */
4
5#ifndef NTP_STRING_H
6#define NTP_STRING_H
7
8#ifdef HAVE_MEMORY_H
9# include <memory.h>
10#endif
11
12#ifdef HAVE_STRING_H
13# include <string.h>
14#endif
15
16#ifdef HAVE_BSTRING_H
17# include <bstring.h>
18#endif
19
20#ifdef NTP_NEED_BOPS
21
22#ifdef HAVE_STRINGS_H
23# include <strings.h>		/* bcmp, bcopy, bzero */
24#endif
25
26void	ntp_memset	(char *, int, int);
27
28#define memcmp(a, b, c)		bcmp(a, b, (int)(c))
29#define memmove(t, f, c)	bcopy(f, t, (int)(c))
30#define memcpy(t, f, c)		bcopy(f, t, (int)(c))
31#define memset(a, x, c)		if (0 == (x)) \
32					bzero(a, (int)(c)); \
33				else \
34					ntp_memset((char *)(a), x, c)
35#endif /*  NTP_NEED_BOPS */
36
37#endif	/* NTP_STRING_H */
38