Updated QrCode constructor argument checks in most languages to synchronize logic.

This commit is contained in:
Project Nayuki
2018-10-05 02:27:00 +00:00
parent 06d80aade3
commit b6bbaddf4f
4 changed files with 10 additions and 7 deletions
+4 -2
View File
@@ -120,8 +120,10 @@ QrCode::QrCode(int ver, Ecc ecl, const vector<uint8_t> &dataCodewords, int mask)
errorCorrectionLevel(ecl),
modules (size, vector<bool>(size)), // Initially all white
isFunction(size, vector<bool>(size)) {
if (ver < MIN_VERSION || ver > MAX_VERSION || mask < -1 || mask > 7)
throw std::domain_error("Value out of range");
if (ver < MIN_VERSION || ver > MAX_VERSION)
throw std::domain_error("Version value out of range");
if (mask < -1 || mask > 7)
throw std::domain_error("Mask value out of range");
size = ver * 4 + 17;
// Compute ECC, draw modules, do masking