Commit: 407455876e486df45a6b6c91b483060b0479a0b3 Author: Gustavo André dos Santos Lopes <cataphr...@php.net> Sun, 6 May 2012 00:48:17 +0200 Parents: f1621485ad7c9b02b4df42c21a472223fe106f51 Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=407455876e486df45a6b6c91b483060b0479a0b3 Log: Set global error if insufficient numeric args. WS. Changed paths: M ext/intl/msgformat/msgformat_format.c M ext/intl/msgformat/msgformat_helpers.cpp M ext/intl/tests/calendar_getErrorCode_getErrorMessage_basic.phpt Diff: diff --git a/ext/intl/msgformat/msgformat_format.c b/ext/intl/msgformat/msgformat_format.c index d88bc00..099dbcb 100755 --- a/ext/intl/msgformat/msgformat_format.c +++ b/ext/intl/msgformat/msgformat_format.c @@ -44,10 +44,10 @@ static void msgfmt_do_format(MessageFormatter_object *mfo, zval *args, zval *ret /* umsg_format_arg_count() always returns 0 for named argument patterns, * so this check is ignored and un-substituted {name} strings * in a pattern are returned unmodified. */ - if(count < umsg_format_arg_count(MSG_FORMAT_OBJECT(mfo))) { + if (count < umsg_format_arg_count(MSG_FORMAT_OBJECT(mfo))) { /* Not enough aguments for format! */ - intl_error_set( INTL_DATA_ERROR_P(mfo), U_ILLEGAL_ARGUMENT_ERROR, - "msgfmt_format: not enough parameters", 0 TSRMLS_CC ); + intl_errors_set(INTL_DATA_ERROR_P(mfo), U_ILLEGAL_ARGUMENT_ERROR, + "msgfmt_format: not enough parameters", 0 TSRMLS_CC); RETVAL_FALSE; return; } diff --git a/ext/intl/msgformat/msgformat_helpers.cpp b/ext/intl/msgformat/msgformat_helpers.cpp index 5c114e8..503dca9 100755 --- a/ext/intl/msgformat/msgformat_helpers.cpp +++ b/ext/intl/msgformat/msgformat_helpers.cpp @@ -117,14 +117,14 @@ static HashTable *umsg_parse_format(const MessagePattern& mp, UErrorCode& uec) parts_count = mp.countParts(); // See MessageFormat::cacheExplicitFormats() - /* - * Looking through the pattern, go to each arg_start part type. - * The arg-typeof that tells us the argument type (simple, complicated) - * then the next part is either the arg_name or arg number - * and then if it's simple after that there could be a part-type=arg-type + /* + * Looking through the pattern, go to each arg_start part type. + * The arg-typeof that tells us the argument type (simple, complicated) + * then the next part is either the arg_name or arg number + * and then if it's simple after that there could be a part-type=arg-type * while substring will tell us number, spellout, etc. - * If the next thing isn't an arg-type then assume string. - */ + * If the next thing isn't an arg-type then assume string. + */ /* The last two "parts" can at most be ARG_LIMIT and MSG_LIMIT * which we need not examine. */ for (int32_t i = 0; i < parts_count - 2 && U_SUCCESS(uec); i++) { @@ -226,7 +226,7 @@ static HashTable *umsg_parse_format(const MessagePattern& mp, UErrorCode& uec) } *storedType = type; - } /* visiting each part */ + } /* visiting each part */ if (U_FAILURE(uec)) { zend_hash_destroy(ret); diff --git a/ext/intl/tests/calendar_getErrorCode_getErrorMessage_basic.phpt b/ext/intl/tests/calendar_getErrorCode_getErrorMessage_basic.phpt index 7b4104b..71c0534 100644 --- a/ext/intl/tests/calendar_getErrorCode_getErrorMessage_basic.phpt +++ b/ext/intl/tests/calendar_getErrorCode_getErrorMessage_basic.phpt @@ -40,4 +40,4 @@ int(1) int(1) string(81) "intlcal_field_difference: Call to ICU method has failed: U_ILLEGAL_ARGUMENT_ERROR" string(81) "intlcal_field_difference: Call to ICU method has failed: U_ILLEGAL_ARGUMENT_ERROR" -==DONE== +==DONE== -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php