summaryrefslogtreecommitdiff
path: root/sql/ha_archive.cc
diff options
context:
space:
mode:
authorunknown <svoj@mysql.com/april.(none)>2006-09-29 21:36:17 +0500
committerunknown <svoj@mysql.com/april.(none)>2006-09-29 21:36:17 +0500
commit09f6d547b017bc9a9122dd8dc20f86dd7267b9b7 (patch)
tree3bb0d6a780858d235d423e1292fea5640c98c977 /sql/ha_archive.cc
parent819b0eb1346085d6cf4e3c6c3ab7833cf49a8781 (diff)
downloadmariadb-git-09f6d547b017bc9a9122dd8dc20f86dd7267b9b7.tar.gz
Fixed that max_zfile_size was incorrectly calculated on big-endian boxes.
Was introduced with patch for bug#21675.
Diffstat (limited to 'sql/ha_archive.cc')
-rw-r--r--sql/ha_archive.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/sql/ha_archive.cc b/sql/ha_archive.cc
index 3a30f404a40..bc3c819c4ed 100644
--- a/sql/ha_archive.cc
+++ b/sql/ha_archive.cc
@@ -206,7 +206,17 @@ bool archive_db_init()
else
{
zoffset_size= 2 << ((zlibCompileFlags() >> 6) & 3);
- max_zfile_size= (z_off_t) (~(1 << (zoffset_size * 8 - 1)));
+ switch (sizeof(z_off_t)) {
+ case 2:
+ max_zfile_size= INT_MAX16;
+ break;
+ case 8:
+ max_zfile_size= LONGLONG_MAX;
+ break;
+ case 4:
+ default:
+ max_zfile_size= INT_MAX32;
+ }
archive_inited= TRUE;
DBUG_RETURN(FALSE);
}