diff options
author | unknown <mronstrom@mysql.com> | 2005-05-12 11:20:50 +0200 |
---|---|---|
committer | unknown <mronstrom@mysql.com> | 2005-05-12 11:20:50 +0200 |
commit | 5985904e73aadcad42436096c184532f9a126603 (patch) | |
tree | dd39471954acb216773d29d2fd1ceb2a6f1651ab /sql/sql_bitmap.h | |
parent | f8b75e07a53058b0e5f1e0dad9188604ab6cde9b (diff) | |
download | mariadb-git-5985904e73aadcad42436096c184532f9a126603.tar.gz |
Many fixes
Diffstat (limited to 'sql/sql_bitmap.h')
-rw-r--r-- | sql/sql_bitmap.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/sql_bitmap.h b/sql/sql_bitmap.h index 5c51f3ecb67..37c74b4ea91 100644 --- a/sql/sql_bitmap.h +++ b/sql/sql_bitmap.h @@ -25,7 +25,7 @@ template <uint default_width> class Bitmap { MY_BITMAP map; - uchar buffer[(default_width+7)/8]; + uint32 buffer[(default_width+31)/32]; public: Bitmap() { init(); } Bitmap(Bitmap& from) { *this=from; } @@ -62,17 +62,18 @@ public: char *print(char *buf) const { char *s=buf; int i; + uchar *uchar_buffer= (uchar*)&buffer; for (i=sizeof(buffer)-1; i>=0 ; i--) { - if ((*s=_dig_vec_upper[buffer[i] >> 4]) != '0') + if ((*s=_dig_vec_upper[uchar_buffer[i] >> 4]) != '0') break; - if ((*s=_dig_vec_upper[buffer[i] & 15]) != '0') + if ((*s=_dig_vec_upper[uchar_buffer[i] & 15]) != '0') break; } for (s++, i-- ; i>=0 ; i--) { - *s++=_dig_vec_upper[buffer[i] >> 4]; - *s++=_dig_vec_upper[buffer[i] & 15]; + *s++=_dig_vec_upper[uchar_buffer[i] >> 4]; + *s++=_dig_vec_upper[uchar_buffer[i] & 15]; } *s=0; return buf; |