Subject: | compiling on Win32 with VC++ 6 |
For version 1.23, there's a small error in compiling XS.xs on Win32 with
VC++ 6, regarding the order of declaring variables. A diff is attached -
with this, all tests pass on ActivePerl 820.
Subject: | XS.xs.diff |
--- XS.xs.orig 2007-06-10 12:56:21.679272500 -0500
+++ XS.xs 2007-06-10 12:56:46.148022500 -0500
@@ -520,6 +520,7 @@
// code will likely be branchless and use only a single multiplication
I32 i = SvIV (sv);
U32 u;
+ char digit, nz = 0;
need (enc, 6);
@@ -529,8 +530,6 @@
// convert to 4.28 fixed-point representation
u = u * ((0xfffffff + 10000) / 10000); // 10**5, 5 fractional digits
- char digit, nz = 0;
-
digit = u >> 28; *enc->cur = digit + '0'; enc->cur += (nz = nz || digit); u = (u & 0xfffffff) * 5;
digit = u >> 27; *enc->cur = digit + '0'; enc->cur += (nz = nz || digit); u = (u & 0x7ffffff) * 5;
digit = u >> 26; *enc->cur = digit + '0'; enc->cur += (nz = nz || digit); u = (u & 0x3ffffff) * 5;