mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
- Fixed #44098, imap_utf8() returns only capital letters
This commit is contained in:
parent
e37ba52900
commit
c58f63a38a
3
NEWS
3
NEWS
@ -69,7 +69,8 @@ PHP NEWS
|
||||
- Fixed bug #47281 ($php_errormsg is limited in size of characters)
|
||||
(Oracle Corp.)
|
||||
- Fixed bug #44827 (define() allows :: in constant names). (Ilia)
|
||||
|
||||
- Fixed bug #44098 (imap_utf8() returns only capital letters).
|
||||
(steffen at dislabs dot de, Pierre)
|
||||
|
||||
?? ??? 20??, PHP 5.3.2
|
||||
- Upgraded bundled sqlite to version 3.6.21. (Ilia)
|
||||
|
@ -147,23 +147,23 @@ if test "$PHP_IMAP" != "no"; then
|
||||
|
||||
old_CFLAGS=$CFLAGS
|
||||
CFLAGS="-I$IMAP_INC_DIR"
|
||||
AC_CACHE_CHECK(for U8T_CANONICAL, ac_cv_u8t_canonical,
|
||||
AC_CACHE_CHECK(for U8T_DECOMPOSE, ac_cv_u8t_canonical,
|
||||
AC_TRY_COMPILE([
|
||||
#include <c-client.h>
|
||||
],[
|
||||
int i = U8T_CANONICAL;
|
||||
],[
|
||||
ac_cv_u8t_canonical=yes
|
||||
ac_cv_u8t_decompose=yes
|
||||
],[
|
||||
ac_cv_u8t_canonical=no
|
||||
ac_cv_u8t_decompose=no
|
||||
])
|
||||
)
|
||||
CFLAGS=$old_CFLAGS
|
||||
|
||||
if test "$ac_cv_u8t_canonical" = "no" && test "$ac_cv_utf8_mime2text" = "new"; then
|
||||
if test "$ac_cv_u8t_decompose" = "no" && test "$ac_cv_utf8_mime2text" = "new"; then
|
||||
AC_MSG_ERROR([utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.])
|
||||
fi
|
||||
if test "$ac_cv_u8t_canonical" = "yes" && test "$ac_cv_utf8_mime2text" = "old"; then
|
||||
if test "$ac_cv_u8t_decompose" = "yes" && test "$ac_cv_utf8_mime2text" = "old"; then
|
||||
AC_MSG_ERROR([utf8_mime2text() has old signature, but U8T_CANONICAL is present. This should not happen. Check config.log for additional information.])
|
||||
fi
|
||||
|
||||
|
@ -21,6 +21,7 @@ if (PHP_IMAP == "yes") {
|
||||
AC_DEFINE('HAVE_NEW_MIME2TEXT', 1, 'Have utf8_mime2text', true);
|
||||
AC_DEFINE('HAVE_RFC822_OUTPUT_ADDRESS_LIST', 1, 'Have rfc822_output_address_list', true);
|
||||
AC_DEFINE('HAVE_IMAP_MUTF7', 1, 'Have modified utf7 support', true);
|
||||
AC_DEFINE('HAVE_NEW_MIME2TEXT', 1, 'Whether utf8_mime2text() has new signature');
|
||||
} else {
|
||||
WARNING("imap not enabled; libraries and headers not found");
|
||||
}
|
||||
|
@ -2664,7 +2664,7 @@ PHP_FUNCTION(imap_utf8)
|
||||
#ifndef HAVE_NEW_MIME2TEXT
|
||||
utf8_mime2text(&src, &dest);
|
||||
#else
|
||||
utf8_mime2text(&src, &dest, U8T_CANONICAL);
|
||||
utf8_mime2text(&src, &dest, U8T_DECOMPOSE);
|
||||
#endif
|
||||
RETVAL_STRINGL(dest.data, dest.size, 1);
|
||||
if (dest.data) {
|
||||
|
20
ext/imap/tests/bug44098.phpt
Normal file
20
ext/imap/tests/bug44098.phpt
Normal file
@ -0,0 +1,20 @@
|
||||
--TEST--
|
||||
Bug #44098 (imap_utf8() returns only capital letters)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded("imap")) {
|
||||
die("skip imap extension not available");
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$exp = 'Luzon®14 dot CoM';
|
||||
$res = imap_utf8('=?iso-8859-1?b?THV6b26uMTQ=?= dot CoM');
|
||||
if ($res != $exp) {
|
||||
echo "failed: got <$res>, expected <exp>\n";
|
||||
} else {
|
||||
echo "ok";
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
ok
|
Loading…
Reference in New Issue
Block a user