moriyoshi                                Wed, 22 Dec 2010 10:25:33 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=306572

Log:
- Fix build.

Changed paths:
    U   php/php-src/trunk/ext/exif/exif.c

Modified: php/php-src/trunk/ext/exif/exif.c
===================================================================
--- php/php-src/trunk/ext/exif/exif.c   2010-12-22 06:50:39 UTC (rev 306571)
+++ php/php-src/trunk/ext/exif/exif.c   2010-12-22 10:25:33 UTC (rev 306572)
@@ -166,18 +166,30 @@

 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);
 }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to