/* +----------------------------------------------------------------------+ | Copyright © The PHP Group and Contributors. | +----------------------------------------------------------------------+ | This source file is subject to the Modified BSD License that is | | bundled with this package in the file LICENSE, and is available | | through the World Wide Web at . | | | | SPDX-License-Identifier: BSD-3-Clause | +----------------------------------------------------------------------+ | Authors: Vadim Savchuk | | Dmitry Lakhtyuk | | Stanislav Malyshev | +----------------------------------------------------------------------+ */ #ifndef INTL_COMMON_H #define INTL_COMMON_H /* Auxiliary macros */ BEGIN_EXTERN_C() #include END_EXTERN_C() #include #ifndef UBYTES # define UBYTES(len) ((len) * sizeof(UChar)) #endif #ifndef eumalloc # define eumalloc(size) (UChar*)safe_emalloc(size, sizeof(UChar), 0) #endif #ifndef eurealloc # define eurealloc(ptr, size) (UChar*)erealloc((ptr), size * sizeof(UChar)) #endif #define USIZE(data) sizeof((data))/sizeof(UChar) #define UCHARS(len) ((len) / sizeof(UChar)) #define INTL_ZSTR_VAL(str) (UChar*) ZSTR_VAL(str) #define INTL_ZSTR_LEN(str) UCHARS(ZSTR_LEN(str)) BEGIN_EXTERN_C() extern zend_class_entry *IntlException_ce_ptr; END_EXTERN_C() #endif /* INTL_COMMON_H */