diff options
Diffstat (limited to 'xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp')
-rw-r--r-- | xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp b/xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp index c770c15392..bdf73a9841 100644 --- a/xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp +++ b/xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp @@ -43,7 +43,8 @@ void CBC_QRCoderBitVector::Clear() { int32_t CBC_QRCoderBitVector::At(int32_t index, int32_t& e) { if (index < 0 || index >= m_sizeInBits) { e = BCExceptionBadIndexException; - BC_EXCEPTION_CHECK_ReturnValue(e, 0); + if (e != BCExceptionNO) + return 0; } int32_t value = m_array[index >> 3] & 0xff; return (value >> (7 - (index & 0x7))) & 1; @@ -57,7 +58,8 @@ int32_t CBC_QRCoderBitVector::Size() { void CBC_QRCoderBitVector::AppendBit(int32_t bit, int32_t& e) { if (!(bit == 0 || bit == 1)) { e = BCExceptionBadValueException; - BC_EXCEPTION_CHECK_ReturnVoid(e); + if (e != BCExceptionNO) + return; } int32_t numBitsInLastByte = m_sizeInBits & 0x7; if (numBitsInLastByte == 0) { @@ -72,7 +74,8 @@ void CBC_QRCoderBitVector::AppendBits(int32_t value, int32_t& e) { if (numBits < 0 || numBits > 32) { e = BCExceptionBadNumBitsException; - BC_EXCEPTION_CHECK_ReturnVoid(e); + if (e != BCExceptionNO) + return; } int32_t numBitsLeft = numBits; while (numBitsLeft > 0) { @@ -83,7 +86,8 @@ void CBC_QRCoderBitVector::AppendBits(int32_t value, } else { int32_t bit = (value >> (numBitsLeft - 1)) & 1; AppendBit(bit, e); - BC_EXCEPTION_CHECK_ReturnVoid(e); + if (e != BCExceptionNO) + return; --numBitsLeft; } } @@ -93,15 +97,18 @@ void CBC_QRCoderBitVector::AppendBitVector(CBC_QRCoderBitVector* bits, int32_t size = bits->Size(); for (int32_t i = 0; i < size; i++) { int32_t num = bits->At(i, e); - BC_EXCEPTION_CHECK_ReturnVoid(e); + if (e != BCExceptionNO) + return; AppendBit(num, e); - BC_EXCEPTION_CHECK_ReturnVoid(e) + if (e != BCExceptionNO) + return; } } void CBC_QRCoderBitVector::XOR(CBC_QRCoderBitVector* other, int32_t& e) { if (m_sizeInBits != other->Size()) { e = BCExceptioncanNotOperatexorOperator; - BC_EXCEPTION_CHECK_ReturnVoid(e); + if (e != BCExceptionNO) + return; } int32_t sizeInBytes = (m_sizeInBits + 7) >> 3; for (int32_t i = 0; i < sizeInBytes; ++i) { |