X-Git-Url: http://git.rot13.org/?p=zxing.git;a=blobdiff_plain;f=cpp%2Fcore%2Fsrc%2Fzxing%2Foned%2FUPCAReader.cpp;h=e2075c130aa8470191a932770005af0ab64414a8;hp=3638318fd00e1924dc384a0a24643ebef053ad00;hb=30f0e5e9eeab4a85a378809bfa7007b128694138;hpb=0e1b3e36eef8c2956d012196e2a49e088b6e150a diff --git a/cpp/core/src/zxing/oned/UPCAReader.cpp b/cpp/core/src/zxing/oned/UPCAReader.cpp index 3638318f..e2075c13 100644 --- a/cpp/core/src/zxing/oned/UPCAReader.cpp +++ b/cpp/core/src/zxing/oned/UPCAReader.cpp @@ -2,7 +2,6 @@ * UPCAReader.cpp * ZXing * - * Created by Lukasz Warchol on 10-01-25. * Copyright 2010 ZXing authors All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,33 +24,38 @@ namespace zxing { namespace oned { UPCAReader::UPCAReader() : ean13Reader() { } - - Ref UPCAReader::decodeRow(int rowNumber, Ref row){ - return maybeReturnResult(ean13Reader.decodeRow(rowNumber, row)); + + Ref UPCAReader::decodeRow(int rowNumber, Ref row) { + return maybeReturnResult(ean13Reader.decodeRow(rowNumber, row)); } - Ref UPCAReader::decodeRow(int rowNumber, Ref row, int startGuardRange[]){ + + Ref UPCAReader::decodeRow(int rowNumber, Ref row, int startGuardRange[]) { return maybeReturnResult(ean13Reader.decodeRow(rowNumber, row, startGuardRange)); } - Ref UPCAReader::decode(Ref image, DecodeHints hints){ + + Ref UPCAReader::decode(Ref image, DecodeHints hints) { return maybeReturnResult(ean13Reader.decode(image, hints)); } - - int UPCAReader::decodeMiddle(Ref row, int startRange[], int startRangeLen, std::string& resultString){ + + int UPCAReader::decodeMiddle(Ref row, int startRange[], int startRangeLen, + std::string& resultString) { return ean13Reader.decodeMiddle(row, startRange, startRangeLen, resultString); } - - Ref UPCAReader::maybeReturnResult(Ref result){ + + Ref UPCAReader::maybeReturnResult(Ref result) { + if (result.empty()) { + return result; + } const std::string& text = (result->getText())->getText(); if (text[0] == '0') { Ref resultString(new String(text.substr(1))); - Ref res(new Result(resultString, result->getRawBytes(), result->getResultPoints(), BarcodeFormat_UPC_A)); + Ref res(new Result(resultString, result->getRawBytes(), result->getResultPoints(), + BarcodeFormat_UPC_A)); return res; - } else { - throw ReaderException("Not UPC-A barcode."); } + return Ref(); } - BarcodeFormat UPCAReader::getBarcodeFormat(){ return BarcodeFormat_UPC_A; }