summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2018-03-19 14:25:44 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2018-03-19 14:34:09 +0100
commitcd2912af5ead4174cb8e3e91a755e471fd7ec08a (patch)
treee79d1b258a0704aa35280c20cf2536fa6a8dd5e1
parent13a33f7c7b59d98098e1e1b89a8da1c713eda897 (diff)
parent47461368ca4ea2d2c23482cbd655bd96b2acbfc8 (diff)
downloadphp-git-cd2912af5ead4174cb8e3e91a755e471fd7ec08a.tar.gz
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fix #75944: Wrong cp1251 detection
-rw-r--r--NEWS3
-rw-r--r--ext/mbstring/libmbfl/filters/mbfilter_cp1251.c2
-rw-r--r--ext/mbstring/tests/bug75944.phpt13
3 files changed, 17 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 4882f007b4..8ae7464cfd 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,9 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2018, PHP 7.2.5
+- Mbstring:
+ . Fixed bug #75944 (Wrong cp1251 detection). (dmk001)
+
- ODBC:
. Fixed bug #76088 (ODBC functions are not available by default on Windows).
(cmb)
diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c
index a26ce19492..2d47ac304a 100644
--- a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c
+++ b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c
@@ -142,7 +142,7 @@ mbfl_filt_conv_wchar_cp1251(int c, mbfl_convert_filter *filter)
/* all of this is so ugly now! */
static int mbfl_filt_ident_cp1251(int c, mbfl_identify_filter *filter)
{
- if (c >= 0x80 && c < 0xff)
+ if (c >= 0x80 && c <= 0xff)
filter->flag = 0;
else
filter->flag = 1; /* not it */
diff --git a/ext/mbstring/tests/bug75944.phpt b/ext/mbstring/tests/bug75944.phpt
new file mode 100644
index 0000000000..81788d7196
--- /dev/null
+++ b/ext/mbstring/tests/bug75944.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Bug #75944 (wrong detection cp1251 encoding because of missing last cyrillic letter)
+--SKIPIF--
+<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?>
+--FILE--
+<?php
+var_dump(mb_detect_encoding(chr(0xfe), array('CP-1251'))); // letter '?'
+var_dump(mb_detect_encoding(chr(0xff), array('CP-1251'))); // letter '?'
+?>
+--EXPECT--
+string(12) "Windows-1251"
+string(12) "Windows-1251"
+