From e3b160bf864fa3b6b2bf938e62f18768032980ab Mon Sep 17 00:00:00 2001 From: Daniel Persson Date: Mon, 7 Sep 2015 22:15:23 +0200 Subject: Added function to check error and return null if error is set. --- ext/intl/intl_data.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ext/intl/intl_data.h b/ext/intl/intl_data.h index 12e0a9924e..74b7092fbb 100644 --- a/ext/intl/intl_data.h +++ b/ext/intl/intl_data.h @@ -45,7 +45,7 @@ typedef struct _intl_data { obj = Z_##oclass##_P( object ); \ intl_error_reset( INTL_DATA_ERROR_P(obj) ); \ -/* Check status by error code, if error - exit */ +/* Check status by error code, if error return false */ #define INTL_CHECK_STATUS(err, msg) \ intl_error_set_code( NULL, (err) ); \ if( U_FAILURE((err)) ) \ @@ -54,6 +54,16 @@ typedef struct _intl_data { RETURN_FALSE; \ } +/* Check status by error code, if error return null */ +#define INTL_CHECK_STATUS_OR_NULL(err, msg) \ + intl_error_set_code( NULL, (err) ); \ + if( U_FAILURE((err)) ) \ + { \ + intl_error_set_custom_msg( NULL, msg, 0 ); \ + RETURN_NULL(); \ + } + + /* Check status in object, if error return false */ #define INTL_METHOD_CHECK_STATUS(obj, msg) \ intl_error_set_code( NULL, INTL_DATA_ERROR_CODE((obj)) ); \ -- cgit v1.2.1