From: Tor Didriksen Date: September 21 2011 11:56am Subject: bzr push into mysql-trunk branch (tor.didriksen:3419 to 3420) List-Archive: http://lists.mysql.com/commits/141051 Message-Id: <201109211156.p8LBuKlo028072@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3420 Tor Didriksen 2011-09-21 [merge] merge 5.5 => trunk modified: strings/dtoa.c 3419 kevin.lewis@stripped 2011-09-20 [merge] Merge Bug 12963823 from mysql-5.5 modified: mysql-test/suite/innodb/r/innodb-index.result mysql-test/suite/innodb/t/innodb-index.test storage/innobase/row/row0purge.c === modified file 'strings/dtoa.c' --- a/strings/dtoa.c 2011-09-20 09:17:02 +0000 +++ b/strings/dtoa.c 2011-09-21 11:55:14 +0000 @@ -1009,6 +1009,7 @@ static Bigint *pow5mult(Bigint *b, int k Bigint *b1, *p5, *p51=NULL; int i; static int p05[3]= { 5, 25, 125 }; + my_bool overflow= FALSE; if ((i= k & 3)) b= multadd(b, p05[i-1], 0, alloc); @@ -1027,16 +1028,19 @@ static Bigint *pow5mult(Bigint *b, int k if (!(k>>= 1)) break; /* Calculate next power of 5 */ - if (p5 < p5_a + P5A_MAX) - ++p5; - else if (p5 == p5_a + P5A_MAX) - p5= mult(p5, p5, alloc); - else + if (overflow) { p51= mult(p5, p5, alloc); Bfree(p5, alloc); p5= p51; } + else if (p5 < p5_a + P5A_MAX) + ++p5; + else if (p5 == p5_a + P5A_MAX) + { + p5= mult(p5, p5, alloc); + overflow= TRUE; + } } if (p51) Bfree(p51, alloc); No bundle (reason: useless for push emails).