42 if( !
err && !(
err = intl_g_error_get( ) ) )
45 if(
err->free_custom_error_message ) {
49 err->custom_error_message =
NULL;
50 err->free_custom_error_message = 0;
68 if( !
err && !(
err = intl_g_error_get( ) ) )
72 err->custom_error_message =
NULL;
73 err->free_custom_error_message = 0;
80 if( !
err && !(
err = intl_g_error_get( ) ) )
85 intl_free_custom_error_msg(
err );
101 if( !
err && !(
err = intl_g_error_get( ) ) )
105 intl_free_custom_error_msg(
err );
108 err->free_custom_error_message = copyMsg;
118 const char *uErrorName =
NULL;
121 if( !
err && !(
err = intl_g_error_get( ) ) )
124 uErrorName = u_errorName(
err->code );
127 if(
err->custom_error_message )
129 errMessage =
strpprintf(0,
"%s: %s",
err->custom_error_message, uErrorName );
133 errMessage =
strpprintf(0,
"%s", uErrorName );
143 if( !
err && !(
err = intl_g_error_get( ) ) )
146 err->code = err_code;
153 if( !
err && !(
err = intl_g_error_get( ) ) )
215 smart_str_appends( &
ret,
"parse error " );
218 smart_str_appends( &
ret,
"on line " );
222 if( pe->offset >= 0 ) {
224 smart_str_appends( &
ret,
", " );
226 smart_str_appends( &
ret,
"at " );
228 smart_str_appends( &
ret,
"offset " );
233 if (pe->preContext[0] != 0 ) {
235 smart_str_appends( &
ret,
", " );
237 smart_str_appends( &
ret,
"after \"" );
241 smart_str_appends( &
ret,
"(could not convert parser error pre-context to UTF-8)" );
244 smart_str_append( &
ret, u8str );
247 smart_str_appends( &
ret,
"\"" );
251 if( pe->postContext[0] != 0 )
254 smart_str_appends( &
ret,
", " );
256 smart_str_appends( &
ret,
"before or at \"" );
260 smart_str_appends( &
ret,
"(could not convert parser error post-context to UTF-8)" );
264 smart_str_append( &
ret, u8str );
267 smart_str_appends( &
ret,
"\"" );
273 smart_str_free( &
ret );
274 smart_str_appends( &
ret,
"no parse error" );
assert(mixed $assertion, Throwable|string|null $description=null)
zend_class_entry * IntlException_ce_ptr
zend_string * intl_convert_utf16_to_utf8(const UChar *src, int32_t src_len, UErrorCode *status)
void intl_errors_set_custom_msg(intl_error *err, const char *msg, int copyMsg)
void intl_error_init(intl_error *err)
void intl_errors_set(intl_error *err, UErrorCode code, const char *msg, int copyMsg)
void intl_error_set(intl_error *err, UErrorCode code, const char *msg, int copyMsg)
void intl_error_reset(intl_error *err)
intl_error * intl_error_create(void)
void intl_errors_reset(intl_error *err)
void intl_error_set_code(intl_error *err, UErrorCode err_code)
UErrorCode intl_error_get_code(intl_error *err)
void intl_error_set_custom_msg(intl_error *err, const char *msg, int copyMsg)
smart_str intl_parse_error_to_string(UParseError *pe)
void intl_errors_set_code(intl_error *err, UErrorCode err_code)
zend_string * intl_error_get_message(intl_error *err)
struct _intl_error intl_error
PHPAPI ZEND_COLD void php_error_docref(const char *docref, int type, const char *format,...)
#define ZEND_EXTERN_MODULE_GLOBALS(module_name)
#define ecalloc(nmemb, size)
zend_string_release_ex(func->internal_function.function_name, 0)
ZEND_API ZEND_COLD zend_object * zend_throw_exception_ex(zend_class_entry *exception_ce, zend_long code, const char *format,...)
struct _zend_string zend_string
struct _zend_class_entry zend_class_entry
#define ZSTR_EMPTY_ALLOC()