summaryrefslogtreecommitdiff
path: root/sql/sql_bitmap.h
diff options
context:
space:
mode:
authorunknown <mronstrom@mysql.com>2005-05-12 11:20:50 +0200
committerunknown <mronstrom@mysql.com>2005-05-12 11:20:50 +0200
commit5985904e73aadcad42436096c184532f9a126603 (patch)
treedd39471954acb216773d29d2fd1ceb2a6f1651ab /sql/sql_bitmap.h
parentf8b75e07a53058b0e5f1e0dad9188604ab6cde9b (diff)
downloadmariadb-git-5985904e73aadcad42436096c184532f9a126603.tar.gz
Many fixes
Diffstat (limited to 'sql/sql_bitmap.h')
-rw-r--r--sql/sql_bitmap.h11
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;