Aleksander Machniak
2015-05-05 966a9086a54c5f5b98158d21797b167b6e13b332
Fix rcube_charset::clean() for case when mbstring and iconv are not installed
1 files modified
19 ■■■■ changed files
program/lib/Roundcube/rcube_charset.php 19 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_charset.php
@@ -789,30 +789,29 @@
            // 1-byte character
            if ($ord <= 0x7F) {
                if ($seq) {
                if ($seq !== '') {
                    $out .= preg_match($regexp, $seq) ? $seq : '';
                    $seq = '';
                }
                $seq = '';
                $out .= $chr;
            }
            // first (or second) byte of multibyte sequence
            // first byte of multibyte sequence
            else if ($ord >= 0xC0) {
                if (strlen($seq) > 1) {
                if ($seq !== '') {
                    $out .= preg_match($regexp, $seq) ? $seq : '';
                    $seq = '';
                }
                else if ($seq && ord($seq) < 0xC0) {
                    $seq = '';
                }
                $seq .= $chr;
                $seq = $chr;
            }
            // next byte of multibyte sequence
            else if ($seq) {
            else if ($seq !== '') {
                $seq .= $chr;
            }
        }
        if ($seq) {
        if ($seq !== '') {
            $out .= preg_match($regexp, $seq) ? $seq : '';
        }