Added an assertion to QrCode.encodeSegmentsAdvanced() in all language versions.

This commit is contained in:
Project Nayuki
2018-08-28 06:22:22 +00:00
parent 87cab22ffc
commit 669585590b
7 changed files with 10 additions and 0 deletions
+2
View File
@@ -93,6 +93,8 @@ QrCode QrCode::encodeSegments(const vector<QrSegment> &segs, Ecc ecl,
bb.appendBits(seg.getNumChars(), seg.getMode().numCharCountBits(version));
bb.insert(bb.end(), seg.getData().begin(), seg.getData().end());
}
if (bb.size() != static_cast<size_t>(dataUsedBits))
throw std::logic_error("Assertion error");
// Add terminator and pad up to a byte if applicable
size_t dataCapacityBits = getNumDataCodewords(version, ecl) * 8;