blob: 6b87e67d12b0d4ce0f6b2a0f14680be4accee95d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
From 7c1c7693ca684c778d59a35accec6622f9879877 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Thu, 2 Jan 2020 14:10:52 +0100
Subject: [PATCH] skip non hexa char. for 7.4
---
src/Type/Linear/MsiCheck.php | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/Type/Linear/MsiCheck.php b/src/Type/Linear/MsiCheck.php
index f658f90..9725fa9 100644
--- a/src/Type/Linear/MsiCheck.php
+++ b/src/Type/Linear/MsiCheck.php
@@ -77,10 +77,13 @@ protected function getChecksum($code)
$pix = 2;
$check = 0;
for ($pos = ($clen - 1); $pos >= 0; --$pos) {
- $check += (hexdec($code[$pos]) * $pix);
- ++$pix;
- if ($pix > 7) {
- $pix = 2;
+ $t = $code[$pos];
+ if ($t >= "0" && $t <= "9" || $t >= "a" && $t <= "f" || $t >= "A" && $t <= "F") {
+ $check += (hexdec($t) * $pix);
+ ++$pix;
+ if ($pix > 7) {
+ $pix = 2;
+ }
}
}
$check %= 11;
|