Fix some double-reversed i-j problems in this code
authorsrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 12 Nov 2009 22:18:25 +0000 (22:18 +0000)
committersrowen <srowen@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 12 Nov 2009 22:18:25 +0000 (22:18 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@1104 59b500cc-1b3d-0410-9834-0bbf25fbcc57

core/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java

index 9629385..fd8071c 100644 (file)
@@ -55,16 +55,16 @@ final class BitMatrixParser {
 \r
     // Read top-left format info bits\r
     int formatInfoBits = 0;\r
-    for (int j = 0; j < 6; j++) {\r
-      formatInfoBits = copyBit(8, j, formatInfoBits);\r
+    for (int i = 0; i < 6; i++) {\r
+      formatInfoBits = copyBit(i, 8, formatInfoBits);\r
     }\r
     // .. and skip a bit in the timing pattern ...\r
-    formatInfoBits = copyBit(8, 7, formatInfoBits);\r
-    formatInfoBits = copyBit(8, 8, formatInfoBits);\r
     formatInfoBits = copyBit(7, 8, formatInfoBits);\r
+    formatInfoBits = copyBit(8, 8, formatInfoBits);\r
+    formatInfoBits = copyBit(8, 7, formatInfoBits);\r
     // .. and skip a bit in the timing pattern ...\r
-    for (int i = 5; i >= 0; i--) {\r
-      formatInfoBits = copyBit(i, 8, formatInfoBits);\r
+    for (int j = 5; j >= 0; j--) {\r
+      formatInfoBits = copyBit(8, j, formatInfoBits);\r
     }\r
 \r
     parsedFormatInfo = FormatInformation.decodeFormatInformation(formatInfoBits);\r
@@ -112,9 +112,9 @@ final class BitMatrixParser {
 \r
     // Read top-right version info: 3 wide by 6 tall\r
     int versionBits = 0;\r
-    for (int i = 5; i >= 0; i--) {\r
-      int jMin = dimension - 11;\r
-      for (int j = dimension - 9; j >= jMin; j--) {\r
+    int ijMin = dimension - 11;\r
+    for (int j = 5; j >= 0; j--) {\r
+      for (int i = dimension - 9; i >= ijMin; i--) {\r
         versionBits = copyBit(i, j, versionBits);\r
       }\r
     }\r
@@ -126,9 +126,8 @@ final class BitMatrixParser {
 \r
     // Hmm, failed. Try bottom left: 6 wide by 3 tall\r
     versionBits = 0;\r
-    for (int j = 5; j >= 0; j--) {\r
-      int iMin = dimension - 11;\r
-      for (int i = dimension - 9; i >= iMin; i--) {\r
+    for (int i = 5; i >= 0; i--) {\r
+      for (int j = dimension - 9; j >= ijMin; j--) {\r
         versionBits = copyBit(i, j, versionBits);\r
       }\r
     }\r
@@ -141,7 +140,7 @@ final class BitMatrixParser {
   }\r
 \r
   private int copyBit(int i, int j, int versionBits) {\r
-    return bitMatrix.get(j, i) ? (versionBits << 1) | 0x1 : versionBits << 1;\r
+    return bitMatrix.get(i, j) ? (versionBits << 1) | 0x1 : versionBits << 1;\r
   }\r
 \r
   /**\r