summaryrefslogtreecommitdiff
path: root/xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp')
-rw-r--r--xfa/fxbarcode/qrcode/BC_QRCoderBitVector.cpp21
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) {