Commit: cd1f45b3be2e630aab32f58770124d38661b518e Author: Gustavo Lopes <glo...@nebm.ist.utl.pt> Wed, 22 Aug 2012 22:38:31 +0200 Parents: 87803ace94454a71a04c87f85c938ceffc100bcf Branches: PHP-5.4 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=cd1f45b3be2e630aab32f58770124d38661b518e Log: Fix handling of several uinitialized intl objects PHP 5.4 specific changes. Not having this in the merge commit helps porting to pecl/intl Changed paths: M ext/intl/spoofchecker/spoofchecker_class.h M ext/intl/spoofchecker/spoofchecker_create.c Diff: diff --git a/ext/intl/spoofchecker/spoofchecker_class.h b/ext/intl/spoofchecker/spoofchecker_class.h index 8db6468..b9e334f 100644 --- a/ext/intl/spoofchecker/spoofchecker_class.h +++ b/ext/intl/spoofchecker/spoofchecker_class.h @@ -55,6 +55,15 @@ extern zend_class_entry *Spoofchecker_ce_ptr; Spoofchecker_object* co = NULL; \ intl_error_reset(NULL TSRMLS_CC); \ +#define SPOOFCHECKER_METHOD_FETCH_OBJECT_NO_CHECK INTL_METHOD_FETCH_OBJECT(Spoofchecker, co) +#define SPOOFCHECKER_METHOD_FETCH_OBJECT \ + SPOOFCHECKERMETHOD_FETCH_OBJECT_NO_CHECK; \ + if (co->uspoof == NULL) { \ + intl_errors_set(&co->err, U_ILLEGAL_ARGUMENT_ERROR, \ + "Found unconstructed Spoofchecker", 0 TSRMLS_CC); \ + RETURN_FALSE; \ + } + #define SPOOFCHECKER_METHOD_FETCH_OBJECT \ co = (Spoofchecker_object *) zend_object_store_get_object(object TSRMLS_CC); \ intl_error_reset(SPOOFCHECKER_ERROR_P(co) TSRMLS_CC); \ diff --git a/ext/intl/spoofchecker/spoofchecker_create.c b/ext/intl/spoofchecker/spoofchecker_create.c index 3659551..cf0173f 100644 --- a/ext/intl/spoofchecker/spoofchecker_create.c +++ b/ext/intl/spoofchecker/spoofchecker_create.c @@ -35,7 +35,7 @@ PHP_METHOD(Spoofchecker, __construct) return; } - SPOOFCHECKER_METHOD_FETCH_OBJECT; + SPOOFCHECKER_METHOD_FETCH_OBJECT_NO_CHECK; co->uspoof = uspoof_open(SPOOFCHECKER_ERROR_CODE_P(co)); INTL_CTOR_CHECK_STATUS(co, "spoofchecker: unable to open ICU Spoof Checker"); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php