~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mystrings/m_string.h

Merged build changes from Antony.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
/*  This is needed for the definitions of strchr... on solaris */
20
20
 
 
21
#include <drizzled/global.h>
 
22
 
21
23
#ifndef _m_string_h
22
24
#define _m_string_h
23
25
#ifndef __USE_GNU
34
36
#undef HAVE_BCMP
35
37
#endif
36
38
 
37
 
/*  This is needed for the definitions of bzero... on solaris */
38
 
#if defined(HAVE_STRINGS_H)
39
 
#include <strings.h>
40
 
#endif
41
 
 
42
39
/*  This is needed for the definitions of memcpy... on solaris */
43
40
#if defined(HAVE_MEMORY_H) && !defined(__cplusplus)
44
41
#include <memory.h>
45
42
#endif
46
43
 
47
 
#if !defined(HAVE_MEMCPY) && !defined(HAVE_MEMMOVE)
48
 
# define memcpy(d, s, n)        bcopy ((s), (d), (n))
49
 
# define memset(A,C,B)          bfill((A),(B),(C))
50
 
# define memmove(d, s, n)       bmove ((d), (s), (n))
51
 
#elif defined(HAVE_MEMMOVE)
52
 
# define bmove(d, s, n)         memmove((d), (s), (n))
53
 
#else
54
 
# define memmove(d, s, n)       bmove((d), (s), (n)) /* our bmove */
55
 
#endif
56
 
 
57
 
/* Unixware 7 */
58
 
#if !defined(HAVE_BFILL)
59
 
# define bfill(A,B,C)           memset((A),(C),(B))
60
 
# define bmove_align(A,B,C)    memcpy((A),(B),(C))
61
 
#endif
62
 
 
63
 
#if !defined(HAVE_BCMP)
64
 
# define bcopy(s, d, n)         memcpy((d), (s), (n))
65
 
# define bcmp(A,B,C)            memcmp((A),(B),(C))
66
 
# define bzero(A,B)             memset((A),0,(B))
67
 
# define bmove_align(A,B,C)     memcpy((A),(B),(C))
68
 
#endif
69
 
 
70
44
#if defined(__cplusplus)
71
45
extern "C" {
72
46
#endif
93
67
#define strmake_overlapp(A,B,C) strmake(A,B,C)
94
68
#endif
95
69
 
96
 
#ifdef BAD_MEMCPY                       /* Problem with gcc on Alpha */
97
 
#define memcpy_fixed(A,B,C) bmove((A),(B),(C))
98
 
#else
99
 
#define memcpy_fixed(A,B,C) memcpy((A),(B),(C))
100
 
#endif
101
 
 
102
70
#if (!defined(USE_BMOVE512) || defined(HAVE_purify)) && !defined(bmove512)
103
71
#define bmove512(A,B,C) memcpy(A,B,C)
104
72
#endif
105
73
 
106
74
        /* Prototypes for string functions */
107
75
 
108
 
#if !defined(bfill) && !defined(HAVE_BFILL)
109
 
extern  void bfill(uchar *dst,size_t len,char fill);
110
 
#endif
111
 
 
112
 
#if !defined(bzero) && !defined(HAVE_BZERO)
113
 
extern  void bzero(uchar * dst,size_t len);
114
 
#endif
115
 
 
116
 
#if !defined(bcmp) && !defined(HAVE_BCMP)
117
 
extern  size_t bcmp(const uchar *s1,const uchar *s2,size_t len);
118
 
#endif
119
 
#ifdef HAVE_purify
120
 
extern  size_t my_bcmp(const uchar *s1,const uchar *s2,size_t len);
121
 
#undef bcmp
122
 
#define bcmp(A,B,C) my_bcmp((A),(B),(C))
123
 
#define bzero_if_purify(A,B) bzero(A,B)
124
 
#else
125
 
#define bzero_if_purify(A,B)
126
 
#endif /* HAVE_purify */
127
 
 
128
76
#ifndef bmove512
129
77
extern  void bmove512(uchar *dst,const uchar *src,size_t len);
130
78
#endif
131
79
 
132
 
#if !defined(HAVE_BMOVE) && !defined(bmove)
133
 
extern  void bmove(uuchar *dst, const uchar *src,size_t len);
134
 
#endif
135
 
 
136
80
extern  void bmove_upp(uchar *dst,const uchar *src,size_t len);
137
81
extern  void bchange(uchar *dst,size_t old_len,const uchar *src,
138
82
                     size_t new_len,size_t tot_len);