From 407455876e486df45a6b6c91b483060b0479a0b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustavo=20Andr=C3=A9=20dos=20Santos=20Lopes?= Date: Sun, 6 May 2012 00:48:17 +0200 Subject: [PATCH] Set global error if insufficient numeric args. WS. --- ext/intl/msgformat/msgformat_format.c | 6 +++--- ext/intl/msgformat/msgformat_helpers.cpp | 16 ++++++++-------- ...endar_getErrorCode_getErrorMessage_basic.phpt | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ext/intl/msgformat/msgformat_format.c b/ext/intl/msgformat/msgformat_format.c index d88bc00181e..099dbcb4b6e 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 5c114e8302c..503dca9ad9b 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 7b4104bf4ee..71c053492f1 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==