mirror of
https://github.com/zxing/zxing.git
synced 2025-02-02 05:41:08 -08:00
port r2064 to C++
git-svn-id: https://zxing.googlecode.com/svn/trunk@2203 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
parent
8fde7556cf
commit
3b4a8bcd52
|
@ -16,8 +16,8 @@
|
|||
*/
|
||||
|
||||
#include <zxing/common/CharacterSetECI.h>
|
||||
#include <sstream>
|
||||
#include <zxing/common/IllegalArgumentException.h>
|
||||
#include <zxing/FormatException.h>
|
||||
|
||||
using std::string;
|
||||
|
||||
|
@ -94,9 +94,7 @@ void CharacterSetECI::addCharacterSet(int const* values, char const* const* name
|
|||
|
||||
CharacterSetECI* CharacterSetECI::getCharacterSetECIByValue(int value) {
|
||||
if (value < 0 || value >= 900) {
|
||||
std::ostringstream oss;
|
||||
oss << "Bad ECI value: " << value;
|
||||
throw IllegalArgumentException(oss.str().c_str());
|
||||
throw FormatException();
|
||||
}
|
||||
return VALUE_TO_ECI[value];
|
||||
}
|
||||
|
|
|
@ -275,6 +275,9 @@ void DecodedBitStreamParser::decodeAlphanumericSegment(Ref<BitSource> bits_,
|
|||
ostringstream bytes;
|
||||
// Read two characters at a time
|
||||
while (count > 1) {
|
||||
if (bits.available() < 11) {
|
||||
throw FormatException();
|
||||
}
|
||||
int nextTwoCharsBits = bits.readBits(11);
|
||||
bytes << toAlphaNumericChar(nextTwoCharsBits / 45);
|
||||
bytes << toAlphaNumericChar(nextTwoCharsBits % 45);
|
||||
|
@ -324,7 +327,7 @@ namespace {
|
|||
int secondThirdBytes = bits.readBits(16);
|
||||
return ((firstByte & 0x1F) << 16) | secondThirdBytes;
|
||||
}
|
||||
throw IllegalArgumentException("Bad ECI bits starting with byte " + firstByte);
|
||||
throw FormatException();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue