From: Moriyoshi Koizumi Date: Wed, 22 Dec 2010 10:25:33 +0000 (+0000) Subject: - Fix build. X-Git-Tag: php-5.4.0alpha1~191^2~470 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e8b15906675441af7dbe1d78c566d75eeeea944d;p=php - Fix build. --- diff --git a/ext/exif/exif.c b/ext/exif/exif.c index ccecc94e74..97a0a638e7 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -166,18 +166,30 @@ ZEND_DECLARE_MODULE_GLOBALS(exif) ZEND_INI_MH(OnUpdateEncode) { - if (new_value && strlen(new_value) && !zend_multibyte_check_encoding_list(new_value TSRMLS_CC)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); - return FAILURE; + if (new_value && new_value_length) { + const zend_encoding **return_list; + size_t return_size; + if (FAILURE == zend_multibyte_parse_encoding_list(new_value, new_value_length, + &return_list, &return_size, 0 TSRMLS_CC)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); + return FAILURE; + } + efree(return_list); } return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); } ZEND_INI_MH(OnUpdateDecode) { - if (!zend_multibyte_check_encoding_list(new_value TSRMLS_CC)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); - return FAILURE; + if (new_value) { + const zend_encoding **return_list; + size_t return_size; + if (FAILURE == zend_multibyte_parse_encoding_list(new_value, new_value_length, + &return_list, &return_size, 0 TSRMLS_CC)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Illegal encoding ignored: '%s'", new_value); + return FAILURE; + } + efree(return_list); } return OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, mh_arg3, stage TSRMLS_CC); }