19#include <unicode/ustring.h>
28#define Z_ADDREF_P(z) ((z)->refcount++)
34 UChar* formatted =
NULL;
35 int32_t formatted_len = 0;
75 UChar *spattern =
NULL;
78 size_t pattern_len = 0;
79 const char *slocale =
NULL;
80 size_t slocale_len = 0;
83 UParseError parse_error;
87 &slocale, &slocale_len, &pattern, &pattern_len, &
args ) ==
FAILURE )
94 memset(mfo, 0,
sizeof(*mfo));
97 if(pattern && pattern_len) {
102 "msgfmt_format_message: error converting pattern to UTF-16", 0 );
110 if(slocale_len == 0) {
114#ifdef MSG_FORMAT_QUOTE_APOS
117 "msgfmt_format_message: error converting pattern to quote-friendly format", 0 );
124 if(spattern && spattern_len) {
134 spprintf( &
msg, 0,
"pattern syntax error (%s)", parse_error_str.
s?
ZSTR_VAL(parse_error_str.
s) :
"unknown parser error" );
135 smart_str_free( &parse_error_str );
const U_INVALID_FORMAT_ERROR
const U_PATTERN_SYNTAX_ERROR
const U_ILLEGAL_ARGUMENT_ERROR
memset(ptr, 0, type->size)
void intl_convert_utf8_to_utf16(UChar **target, int32_t *target_len, const char *src, size_t src_len, UErrorCode *status)
#define INTL_DATA_ERROR_CODE(obj)
#define INTL_METHOD_RETVAL_UTF8(obj, ustring, ulen, free_it)
#define INTL_CHECK_LOCALE_LEN(locale_len)
void intl_errors_set_custom_msg(intl_error *err, const char *msg, int copyMsg)
void intl_error_set(intl_error *err, UErrorCode code, const char *msg, int copyMsg)
void intl_error_set_code(intl_error *err, UErrorCode err_code)
smart_str intl_parse_error_to_string(UParseError *pe)
const char * intl_locale_get_default(void)
msgfmt_format(MessageFormatter $formatter, array $values)
msgfmt_format_message(string $locale, string $pattern, array $values)
ZEND_API zend_result zend_parse_method_parameters(uint32_t num_args, zval *this_ptr, const char *type_spec,...)
#define Z_ARRVAL_P(zval_p)