39
39
#include <memory.h>
42
#if !defined(HAVE_MEMCPY) && !defined(HAVE_MEMMOVE)
43
# define memcpy(d, s, n) bcopy ((s), (d), (n))
44
# define memset(A,C,B) bfill((A),(B),(C))
45
# define memmove(d, s, n) bmove ((d), (s), (n))
46
#elif defined(HAVE_MEMMOVE)
47
# define bmove(d, s, n) memmove((d), (s), (n))
49
# define memmove(d, s, n) bmove((d), (s), (n)) /* our bmove */
53
#if !defined(HAVE_BFILL)
54
# define bfill(A,B,C) memset((A),(C),(B))
55
# define bmove_align(A,B,C) memcpy((A),(B),(C))
58
#if !defined(HAVE_BCMP)
59
# define bcopy(s, d, n) memcpy((d), (s), (n))
60
# define bcmp(A,B,C) memcmp((A),(B),(C))
61
# define bzero(A,B) memset((A),0,(B))
62
# define bmove_align(A,B,C) memcpy((A),(B),(C))
65
42
#if defined(__cplusplus)
88
65
#define strmake_overlapp(A,B,C) strmake(A,B,C)
91
#ifdef BAD_MEMCPY /* Problem with gcc on Alpha */
92
#define memcpy_fixed(A,B,C) bmove((A),(B),(C))
94
#define memcpy_fixed(A,B,C) memcpy((A),(B),(C))
97
68
#if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512)
98
69
#define bmove512(A,B,C) memcpy(A,B,C)
101
72
/* Prototypes for string functions */
103
#if !defined(bfill) && !defined(HAVE_BFILL)
104
extern void bfill(uchar *dst,size_t len,char fill);
107
#if !defined(bcmp) && !defined(HAVE_BCMP)
108
extern size_t bcmp(const uchar *s1,const uchar *s2,size_t len);
111
extern size_t my_bcmp(const uchar *s1,const uchar *s2,size_t len);
113
#define bcmp(A,B,C) my_bcmp((A),(B),(C))
114
#define bzero_if_purify(A,B) bzero(A,B)
116
#define bzero_if_purify(A,B)
117
#endif /* HAVE_purify */
120
75
extern void bmove512(uchar *dst,const uchar *src,size_t len);
123
#if !defined(HAVE_BMOVE) && !defined(bmove)
124
extern void bmove(uuchar *dst, const uchar *src,size_t len);
127
78
extern void bmove_upp(uchar *dst,const uchar *src,size_t len);
128
79
extern void bchange(uchar *dst,size_t old_len,const uchar *src,
129
80
size_t new_len,size_t tot_len);