X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=core%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fpdf417%2Fdecoder%2FDecodedBitStreamParser.java;h=a8cf59210f76d3e08bf1a0c4ca9dd12e1ba54377;hb=69e502383e5ee5ac1de5897c2136355daa96189e;hp=2f0b4af6a65d180fe6b4fcc2f6f52f9eb4054f8e;hpb=d0ff60320c6b6755fbaefa710bdcb25a92c882d8;p=zxing.git diff --git a/core/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java b/core/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java index 2f0b4af6..a8cf5921 100644 --- a/core/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java +++ b/core/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java @@ -109,7 +109,7 @@ final class DecodedBitStreamParser { break; } default: { - // Default to text compaction. During testing numberous barcodes + // Default to text compaction. During testing numerous barcodes // appeared to be missing the starting mode. In these cases defaulting // to text compaction seems to work. codeIndex--; @@ -138,15 +138,14 @@ final class DecodedBitStreamParser { */ private static int textCompaction(int[] codewords, int codeIndex, StringBuffer result) { // 2 character per codeword - int[] textCompactionData = new int[codewords[0] * 2]; + int[] textCompactionData = new int[codewords[0] << 1]; // Used to hold the byte compaction value if there is a mode shift - int[] byteCompactionData = new int[codewords[0] * 2]; + int[] byteCompactionData = new int[codewords[0] << 1]; int index = 0; - int code = 0; boolean end = false; while ((codeIndex < codewords[0]) && !end) { - code = codewords[codeIndex++]; + int code = codewords[codeIndex++]; if (code < TEXT_COMPACTION_MODE_LATCH) { textCompactionData[index] = code / 30; textCompactionData[index + 1] = code % 30; @@ -341,10 +340,9 @@ final class DecodedBitStreamParser { long value = 0; char[] decodedData = new char[6]; int[] byteCompactedCodewords = new int[6]; - int code = 0; boolean end = false; while ((codeIndex < codewords[0]) && !end) { - code = codewords[codeIndex++]; + int code = codewords[codeIndex++]; if (code < TEXT_COMPACTION_MODE_LATCH) { byteCompactedCodewords[count] = code; count++; @@ -386,10 +384,9 @@ final class DecodedBitStreamParser { // is an integer multiple of 6 int count = 0; long value = 0; - int code = 0; boolean end = false; while ((codeIndex < codewords[0]) && !end) { - code = codewords[codeIndex++]; + int code = codewords[codeIndex++]; if (code < TEXT_COMPACTION_MODE_LATCH) { count += 1; // Base 900 @@ -515,9 +512,8 @@ final class DecodedBitStreamParser { */ private static String decodeBase900toBase10(int[] codewords, int count) { StringBuffer accum = null; - StringBuffer value = null; for (int i = 0; i < count; i++) { - value = multiply(EXP900[count - i - 1], codewords[i]); + StringBuffer value = multiply(EXP900[count - i - 1], codewords[i]); if (accum == null) { // First time in accum=0 accum = value; @@ -526,7 +522,7 @@ final class DecodedBitStreamParser { } } String result = null; - // Remove leading '1' which was inserted to preserce + // Remove leading '1' which was inserted to preserve // leading zeros for (int i = 0; i < accum.length(); i++) { if (accum.charAt(i) == '1') {