Tweaked comments and statement order in QrCode constructor, in most languages.

This commit is contained in:
Project Nayuki
2018-10-05 02:14:43 +00:00
parent d060e97e03
commit 06d80aade3
5 changed files with 16 additions and 20 deletions
+2 -4
View File
@@ -115,16 +115,14 @@ QrCode QrCode::encodeSegments(const vector<QrSegment> &segs, Ecc ecl,
QrCode::QrCode(int ver, Ecc ecl, const vector<uint8_t> &dataCodewords, int mask) :
// Initialize fields
// Initialize fields and check arguments
version(ver),
size(MIN_VERSION <= ver && ver <= MAX_VERSION ? ver * 4 + 17 : -1), // Avoid signed overflow undefined behavior
errorCorrectionLevel(ecl),
modules (size, vector<bool>(size)), // Initially all white
isFunction(size, vector<bool>(size)) {
// Check arguments
if (ver < MIN_VERSION || ver > MAX_VERSION || mask < -1 || mask > 7)
throw std::domain_error("Value out of range");
size = ver * 4 + 17;
// Compute ECC, draw modules, do masking
drawFunctionPatterns();