summaryrefslogtreecommitdiff
path: root/sql/sql_bitmap.h
diff options
context:
space:
mode:
authorunknown <mronstrom@mysql.com>2005-05-12 12:01:01 +0200
committerunknown <mronstrom@mysql.com>2005-05-12 12:01:01 +0200
commit3e6b7f2b650e5b5a47bd07378d5c209c83961639 (patch)
treed54f56893556222f09999a34b6b4638f5a3a66d1 /sql/sql_bitmap.h
parent0de78e66c2920350143d1399510ac5bb0bb16a69 (diff)
parent5985904e73aadcad42436096c184532f9a126603 (diff)
downloadmariadb-git-3e6b7f2b650e5b5a47bd07378d5c209c83961639.tar.gz
Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/Users/mikron/wl1682 sql/field.cc: Auto merged sql/field.h: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/ha_ndbcluster.h: Auto merged sql/handler.cc: Auto merged sql/handler.h: Auto merged sql/item.cc: Auto merged sql/mysql_priv.h: Auto merged sql/opt_range.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_bitmap.h: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/table.cc: Auto merged sql/unireg.cc: Auto merged
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 2fd603d9381..b5a3803598f 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;