From 9be55c4b3bc0951dea5a6dd863566a33430cb6b3 Mon Sep 17 00:00:00 2001 From: gustavf Date: Tue, 13 Mar 2001 15:33:41 +0000 Subject: [PATCH] Fixed bug #230696: subject line decoded wrong. A problem when uppercasing QuotedPrintable. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@1194 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/mime.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/functions/mime.php b/functions/mime.php index c9623c06..c9c101e1 100644 --- a/functions/mime.php +++ b/functions/mime.php @@ -700,7 +700,7 @@ $replace = ereg_replace("_", " ", $res[3]); // Convert lowercase Quoted Printable to uppercase for // quoted_printable_decode to understand it. - while (ereg("(=([0-9][abcdef])|([abcdef][0-9])|([abcdef][abcdef]))", $replace, $res)) { + while (ereg("(=(([0-9][abcdef])|([abcdef][0-9])|([abcdef][abcdef])))", $replace, $res)) { $replace = str_replace($res[1], strtoupper($res[1]), $replace); } $replace = quoted_printable_decode($replace); @@ -708,9 +708,10 @@ $replace = charset_decode ($res[1], $replace); - $string = eregi_replace - ('=\\?([^?]+)\\?(q|b)\\?([^?]+)\\?=', + // Remove the name of the character set. + $string = eregi_replace ('=\\?([^?]+)\\?(q|b)\\?([^?]+)\\?=', $replace, $string); + // In case there should be more encoding in the string: recurse return (decodeHeader($string)); } else -- 2.25.1