~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/my_bitmap.h

Merge of Jay

Show diffs side-by-side

added added

removed removed

Lines of Context:
171
171
   */
172
172
  void setBit(const uint32_t bit)
173
173
  {
174
 
    ((unsigned char *)bitmap)[bit / 8] |= (1 << ((bit) & 7));
 
174
    reinterpret_cast<unsigned char *>(bitmap)[bit / 8]= 
 
175
      static_cast<unsigned char>(
 
176
      (reinterpret_cast<unsigned char *>(bitmap))[bit / 8] | 
 
177
      (1 << ((bit) & 7)));
175
178
  }
176
179
 
177
180
  /**
181
184
   */
182
185
  void flipBit(const uint32_t bit)
183
186
  {
184
 
    ((unsigned char *)bitmap)[bit / 8] ^= (1 << ((bit) & 7));
 
187
    reinterpret_cast<unsigned char *>(bitmap)[bit / 8]= 
 
188
      static_cast<unsigned char>(
 
189
      (reinterpret_cast<unsigned char *>(bitmap))[bit / 8] ^ 
 
190
      (1 << ((bit) & 7)));
185
191
  }
186
192
 
187
193
  /**
191
197
   */
192
198
  void clearBit(const uint32_t bit)
193
199
  {
194
 
    ((unsigned char *)bitmap)[bit / 8] &= ~ (1 << ((bit) & 7));
 
200
    reinterpret_cast<unsigned char *>(bitmap)[bit / 8]= 
 
201
      static_cast<unsigned char>(
 
202
      (reinterpret_cast<unsigned char *>(bitmap))[bit / 8] & 
 
203
      ~ (1 << ((bit) & 7)));
195
204
  }
196
205
 
197
206
  /**