~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to include/my_bitmap.h

  • Committer: Jay Pipes
  • Date: 2008-07-17 18:29:02 UTC
  • mto: This revision was merged to the branch mainline in revision 182.
  • Revision ID: jay@mysql.com-20080717182902-y2ofkl7jvmhl7gf5
Final removal of DBUG from vio/ & Round 1 cleanup of include/

Show diffs side-by-side

added added

removed removed

Lines of Context:
104
104
#define _bitmap_is_set(MAP, BIT) (uint) (((uchar*)(MAP)->bitmap)[(BIT) / 8] \
105
105
                                         & (1 << ((BIT) & 7)))
106
106
/*
107
 
  WARNING!
108
 
 
109
 
  The below symbols are inline functions in DEBUG builds and macros in
110
 
  non-DEBUG builds. The latter evaluate their 'bit' argument twice.
111
 
 
112
107
  NEVER use an increment/decrement operator with the 'bit' argument.
113
 
  It would work with DEBUG builds, but fails later in production builds!
114
108
 
115
109
  FORBIDDEN: bitmap_set_bit($my_bitmap, (field++)->field_index);
116
110
*/
117
 
#ifndef DBUG_OFF
118
 
static inline void
119
 
bitmap_set_bit(MY_BITMAP *map,uint bit)
120
 
{
121
 
  DBUG_ASSERT(bit < (map)->n_bits);
122
 
  _bitmap_set_bit(map,bit);
123
 
}
124
 
static inline void
125
 
bitmap_flip_bit(MY_BITMAP *map,uint bit)
126
 
{
127
 
  DBUG_ASSERT(bit < (map)->n_bits);
128
 
  _bitmap_flip_bit(map,bit);
129
 
}
130
 
static inline void
131
 
bitmap_clear_bit(MY_BITMAP *map,uint bit)
132
 
{
133
 
  DBUG_ASSERT(bit < (map)->n_bits);
134
 
  _bitmap_clear_bit(map,bit);
135
 
}
136
 
static inline uint
137
 
bitmap_is_set(const MY_BITMAP *map,uint bit)
138
 
{
139
 
  DBUG_ASSERT(bit < (map)->n_bits);
140
 
  return _bitmap_is_set(map,bit);
141
 
}
142
 
#else
143
111
#define bitmap_set_bit(MAP, BIT) _bitmap_set_bit(MAP, BIT)
144
112
#define bitmap_flip_bit(MAP, BIT) _bitmap_flip_bit(MAP, BIT)
145
113
#define bitmap_clear_bit(MAP, BIT) _bitmap_clear_bit(MAP, BIT)
146
114
#define bitmap_is_set(MAP, BIT) _bitmap_is_set(MAP, BIT)
147
 
#endif
148
115
 
149
116
static inline bool bitmap_cmp(const MY_BITMAP *map1, const MY_BITMAP *map2)
150
117
{