diff --git a/source/zxing/zxing/common/reedsolomon/ReedSolomonEncoder.cpp b/source/zxing/zxing/common/reedsolomon/ReedSolomonEncoder.cpp index 93df07c..07222d1 100644 --- a/source/zxing/zxing/common/reedsolomon/ReedSolomonEncoder.cpp +++ b/source/zxing/zxing/common/reedsolomon/ReedSolomonEncoder.cpp @@ -60,9 +60,12 @@ void ReedSolomonEncoder::encode(std::vector &toEncode, int ecBytes) //original kept for future checks //System.arraycopy(coefficients, 0, toEncode, dataBytes + numZeroCoefficients, coefficients.length); - toEncode.insert(toEncode.begin() + dataBytes + numZeroCoefficients, - coefficients.array_->values().begin(), - coefficients.array_->values().end()); + + //toEncode.insert(toEncode.begin() + (dataBytes-1) + numZeroCoefficients, + // coefficients.array_->values().begin(), + // coefficients.array_->values().end()); + for (size_t i = 0; i < coefficients.count(); i++) + toEncode[i] = coefficients[i]; } } diff --git a/source/zxing/zxing/qrcode/encoder/MaskUtil.cpp b/source/zxing/zxing/qrcode/encoder/MaskUtil.cpp index 470f3df..7cb75bf 100644 --- a/source/zxing/zxing/qrcode/encoder/MaskUtil.cpp +++ b/source/zxing/zxing/qrcode/encoder/MaskUtil.cpp @@ -148,7 +148,7 @@ bool MaskUtil::getDataMaskBit(int maskPattern, int x, int y) intermediate = (y + x) % 3; break; case 4: - intermediate = (((unsigned int)y >> (unsigned int)1) + (x / 3)) & 0x1; + intermediate = ((y >> 1) + (x / 3)) & 0x1; break; case 5: temp = y * x; diff --git a/source/zxing/zxing/qrcode/encoder/MatrixUtil.cpp b/source/zxing/zxing/qrcode/encoder/MatrixUtil.cpp index 487beab..2cfcf05 100644 --- a/source/zxing/zxing/qrcode/encoder/MatrixUtil.cpp +++ b/source/zxing/zxing/qrcode/encoder/MatrixUtil.cpp @@ -226,7 +226,7 @@ int MatrixUtil::findMSBSet(int value) { int numDigits = 0; while (value != 0) { - value = ((unsigned int)value) >> (unsigned int)1; + value = value >> 1; ++numDigits; } return numDigits; diff --git a/source/zxing/zxing/qrcode/encoder/QREncoder.cpp b/source/zxing/zxing/qrcode/encoder/QREncoder.cpp index b4d2e61..21c1eee 100644 --- a/source/zxing/zxing/qrcode/encoder/QREncoder.cpp +++ b/source/zxing/zxing/qrcode/encoder/QREncoder.cpp @@ -423,6 +423,7 @@ ArrayRef Encoder::generateECBytes(const std::vector& dataBytes, int std::vector toEncode; toEncode.resize(numDataBytes + numEcBytesInBlock); for (int i = 0; i < numDataBytes; i++) + //toEncode[i] = dataBytes[i]; toEncode[i] = dataBytes[i] & 0xFF; zxing::ReedSolomonEncoder encoder(GenericGF::QR_CODE_FIELD_256);