1 /* 2 +----------------------------------------------------------------------+ 3 | PHP Version 7 | 4 +----------------------------------------------------------------------+ 5 | This source file is subject to version 3.01 of the PHP license, | 6 | that is bundled with this package in the file LICENSE, and is | 7 | available through the world-wide-web at the following url: | 8 | http://www.php.net/license/3_01.txt | 9 | If you did not receive a copy of the PHP license and are unable to | 10 | obtain it through the world-wide-web, please send a note to | 11 | license@php.net so we can mail you a copy immediately. | 12 +----------------------------------------------------------------------+ 13 | Authors: Stanislav Malyshev <stas@zend.com> | 14 +----------------------------------------------------------------------+ 15 */ 16 17 #ifndef MSG_FORMAT_DATA_H 18 #define MSG_FORMAT_DATA_H 19 20 #include <php.h> 21 22 #include "../intl_error.h" 23 24 #include <unicode/umsg.h> 25 26 typedef struct { 27 // error hangling 28 intl_error error; 29 30 // formatter handling 31 UMessageFormat* umsgf; 32 char* orig_format; 33 zend_ulong orig_format_len; 34 HashTable* arg_types; 35 int tz_set; /* if we've already the time zone in sub-formats */ 36 } msgformat_data; 37 38 msgformat_data* msgformat_data_create( void ); 39 void msgformat_data_init( msgformat_data* mf_data ); 40 void msgformat_data_free( msgformat_data* mf_data ); 41 42 #ifdef MSG_FORMAT_QUOTE_APOS 43 int msgformat_fix_quotes(UChar **spattern, uint32_t *spattern_len, UErrorCode *ec); 44 #endif 45 46 #endif // MSG_FORMAT_DATA_H 47