diff options
author | Aleksander Machniak <alec@alec.pl> | 2013-10-12 13:03:31 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2013-10-12 13:05:27 +0200 |
commit | 571aa9b04ea6345acc98e1671a8ebcfd7abb4f62 (patch) | |
tree | 0988483ad9185c64e54886b44f02265d89204491 /program/lib/Roundcube/rcube_mime.php | |
parent | 42173df79e16c7ce43c29652e0ef3847b8147a6e (diff) |
Fix text wrapping issue with long unwrappable lines (#1489371)
Conflicts:
CHANGELOG
Diffstat (limited to 'program/lib/Roundcube/rcube_mime.php')
-rw-r--r-- | program/lib/Roundcube/rcube_mime.php | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/program/lib/Roundcube/rcube_mime.php b/program/lib/Roundcube/rcube_mime.php index 572540f47..323a5e900 100644 --- a/program/lib/Roundcube/rcube_mime.php +++ b/program/lib/Roundcube/rcube_mime.php @@ -637,7 +637,8 @@ class rcube_mime if ($nextChar === ' ' || $nextChar === $separator) { $afterNextChar = mb_substr($string, $width + 1, 1); - if ($afterNextChar === false) { + // Note: mb_substr() does never return False + if ($afterNextChar === false || $afterNextChar === '') { $subString .= $nextChar; } @@ -650,24 +651,23 @@ class rcube_mime $subString = mb_substr($subString, 0, $spacePos); $cutLength = $spacePos + 1; } - else if ($cut === false && $breakPos === false) { - $subString = $string; - $cutLength = null; - } else if ($cut === false) { $spacePos = mb_strpos($string, ' ', 0); - if ($spacePos !== false && $spacePos < $breakPos) { + if ($spacePos !== false && ($breakPos === false || $spacePos < $breakPos)) { $subString = mb_substr($string, 0, $spacePos); $cutLength = $spacePos + 1; } + else if ($breakPos === false) { + $subString = $string; + $cutLength = null; + } else { $subString = mb_substr($string, 0, $breakPos); $cutLength = $breakPos + 1; } } else { - $subString = mb_substr($subString, 0, $width); $cutLength = $width; } } |