From c19b2e2184c54cd5b399ac88a84a144ea327e98c Mon Sep 17 00:00:00 2001 From: codemasher Date: Tue, 6 Nov 2018 14:03:05 +0100 Subject: [PATCH] :octocat: move version clamp to options --- src/Data/QRDataAbstract.php | 2 +- src/QROptionsTrait.php | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Data/QRDataAbstract.php b/src/Data/QRDataAbstract.php index b784608fe..61b089d22 100644 --- a/src/Data/QRDataAbstract.php +++ b/src/Data/QRDataAbstract.php @@ -182,7 +182,7 @@ abstract class QRDataAbstract implements QRDataInterface{ $maxlength = 0; // guess the version number within the given range - foreach(range(max(1, $this->options->versionMin), min($this->options->versionMax, 40)) as $version){ + foreach(range($this->options->versionMin, $this->options->versionMax) as $version){ $maxlength = $this::MAX_LENGTH[$version][QRCode::DATA_MODES[$this->datamode]][QRCode::ECC_MODES[$this->options->eccLevel]]; if($this->strlen <= $maxlength){ diff --git a/src/QROptionsTrait.php b/src/QROptionsTrait.php index 1bc1abab0..d85f7bb3c 100644 --- a/src/QROptionsTrait.php +++ b/src/QROptionsTrait.php @@ -247,10 +247,11 @@ trait QROptionsTrait{ $this->version = (int)$this->version; // clamp min/max version number - $max = $this->versionMax; - $min = $this->versionMin; - $this->versionMin = (int)min($min, $max); - $this->versionMax = (int)max($min, $max); + $min = min(max(1, (int)$this->versionMin), 40); + $max = max(1, min((int)$this->versionMax, 40)); + + $this->versionMin = min($min, $max); + $this->versionMax = max($min, $max); if($this->maskPattern !== QRCode::MASK_PATTERN_AUTO){ $this->maskPattern = min(7, max(0, (int)$this->maskPattern));