diff --git a/cpp/core/src/zxing/common/BitArray.cpp b/cpp/core/src/zxing/common/BitArray.cpp index e5bfb5b32..02a2a19c3 100644 --- a/cpp/core/src/zxing/common/BitArray.cpp +++ b/cpp/core/src/zxing/common/BitArray.cpp @@ -90,9 +90,9 @@ bool BitArray::isRange(size_t start, size_t end, bool value) { size_t lastWord = end >> logBits_; for (size_t i = firstWord; i <= lastWord; i++) { size_t firstBit = i > firstWord ? 0 : start & bitsMask_; - size_t lastBit = i < lastWord ? logBits_ : end & bitsMask_; + size_t lastBit = i < lastWord ? bitsPerWord_ - 1: end & bitsMask_; unsigned int mask; - if (firstBit == 0 && lastBit == logBits_) { + if (firstBit == 0 && lastBit == bitsPerWord_ - 1) { mask = numeric_limits::max(); } else { mask = 0; diff --git a/cpp/magick/src/main.cpp b/cpp/magick/src/main.cpp index 1aba19fe8..7dfbb6df6 100644 --- a/cpp/magick/src/main.cpp +++ b/cpp/magick/src/main.cpp @@ -54,7 +54,7 @@ static const int MAX_EXPECTED = 1024; Ref decode(Ref image, DecodeHints hints) { Ref reader(new MultiFormatReader); - return Ref (new Result(*reader->decode(image, hints))); + return reader->decode(image, hints); }