From 1b22880748c3f3b3740699ae4c953a33f65ad10f Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Wed, 5 Apr 2017 18:42:22 -0700 Subject: Change some fxbarcode to use return values. No caller cares about the exception values anyway. Remove the unused ones. Also use more std::unique_ptr to stop potential leaks. Change-Id: Ic5955fb0d879f55e1c6a005c0204df50246dab19 Reviewed-on: https://pdfium-review.googlesource.com/3715 Commit-Queue: Lei Zhang Reviewed-by: Tom Sepez --- fxbarcode/qrcode/BC_QRCoderEncoder.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'fxbarcode/qrcode/BC_QRCoderEncoder.cpp') diff --git a/fxbarcode/qrcode/BC_QRCoderEncoder.cpp b/fxbarcode/qrcode/BC_QRCoderEncoder.cpp index d74063d3fe..0971caab51 100644 --- a/fxbarcode/qrcode/BC_QRCoderEncoder.cpp +++ b/fxbarcode/qrcode/BC_QRCoderEncoder.cpp @@ -171,8 +171,8 @@ bool AppendLengthInfo(int32_t numLetters, CBC_QRCoderMode* mode, CBC_QRCoderBitVector* bits) { int32_t e = BCExceptionNO; - CBC_QRCoderVersion* qcv = CBC_QRCoderVersion::GetVersionForNumber(version, e); - if (e != BCExceptionNO) + CBC_QRCoderVersion* qcv = CBC_QRCoderVersion::GetVersionForNumber(version); + if (!qcv) return false; int32_t numBits = mode->GetCharacterCountBits(qcv, e); if (e != BCExceptionNO) @@ -214,8 +214,8 @@ void InitQRCode(int32_t numInputBytes, qrCode->SetMode(mode); for (int32_t versionNum = 1; versionNum <= kMaxVersion; versionNum++) { CBC_QRCoderVersion* version = - CBC_QRCoderVersion::GetVersionForNumber(versionNum, e); - if (e != BCExceptionNO) + CBC_QRCoderVersion::GetVersionForNumber(versionNum); + if (!version) return; int32_t numBytes = version->GetTotalCodeWords(); CBC_QRCoderECBlocks* ecBlocks = version->GetECBlocksForLevel(ecLevel); @@ -237,16 +237,14 @@ void InitQRCode(int32_t numInputBytes, std::unique_ptr GenerateECBytes( CBC_CommonByteArray* dataBytes, - int32_t numEcBytesInBlock, - int32_t& e) { + int32_t numEcBytesInBlock) { int32_t numDataBytes = dataBytes->Size(); std::vector toEncode(numDataBytes + numEcBytesInBlock); for (int32_t i = 0; i < numDataBytes; ++i) toEncode[i] = dataBytes->At(i); CBC_ReedSolomonEncoder encode(CBC_ReedSolomonGF256::QRCodeField); encode.Init(); - encode.Encode(&toEncode, numEcBytesInBlock, e); - if (e != BCExceptionNO) + if (!encode.Encode(&toEncode, numEcBytesInBlock)) return nullptr; auto ecBytes = pdfium::MakeUnique(numEcBytesInBlock); for (int32_t i = 0; i < numEcBytesInBlock; ++i) @@ -543,10 +541,12 @@ void InterleaveWithECBytes(CBC_QRCoderBitVector* bits, numEcBytesInBlosk); auto dataBytes = pdfium::MakeUnique(); dataBytes->Set(bits->GetArray(), dataBytesOffset, numDataBytesInBlock); - std::unique_ptr ecBytes( - GenerateECBytes(dataBytes.get(), numEcBytesInBlosk, e)); - if (e != BCExceptionNO) + std::unique_ptr ecBytes = + GenerateECBytes(dataBytes.get(), numEcBytesInBlosk); + if (!ecBytes) { + e = BCExceptionGeneric; return; + } maxNumDataBytes = std::max(maxNumDataBytes, dataBytes->Size()); maxNumEcBytes = std::max(maxNumEcBytes, ecBytes->Size()); blocks[i].SetData(std::move(dataBytes), std::move(ecBytes)); -- cgit v1.2.3