Annotation of embedaddon/php/ext/intl/locale/locale.c, revision 1.1
1.1 ! misho 1: /*
! 2: +----------------------------------------------------------------------+
! 3: | PHP Version 5 |
! 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: | Author: Kirti Velankar <kirtig@yahoo-inc.com> |
! 14: +----------------------------------------------------------------------+
! 15: */
! 16:
! 17: /* $Id: locale.c 264111 2008-08-03 11:33:45Z jani $ */
! 18:
! 19: #ifdef HAVE_CONFIG_H
! 20: #include "config.h"
! 21: #endif
! 22:
! 23: #include "locale_class.h"
! 24: #include "locale.h"
! 25:
! 26: #include <unicode/utypes.h>
! 27: #include <unicode/uloc.h>
! 28: #include <unicode/ustring.h>
! 29:
! 30: /* {{{ locale_register_constants
! 31: * Register constants common for the both (OO and procedural)
! 32: * APIs.
! 33: */
! 34: void locale_register_constants( INIT_FUNC_ARGS )
! 35: {
! 36: if( !Locale_ce_ptr )
! 37: {
! 38: zend_error( E_ERROR, "Locale class not defined" );
! 39: return;
! 40: }
! 41:
! 42: #define LOCALE_EXPOSE_CONST(x) REGISTER_LONG_CONSTANT(#x, x, CONST_CS)
! 43: #define LOCALE_EXPOSE_CLASS_CONST(x) zend_declare_class_constant_long( Locale_ce_ptr, ZEND_STRS( #x ) - 1, ULOC_##x TSRMLS_CC );
! 44: #define LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR(name, value) zend_declare_class_constant_string( Locale_ce_ptr, ZEND_STRS( name ) - 1, value TSRMLS_CC );
! 45:
! 46: LOCALE_EXPOSE_CLASS_CONST( ACTUAL_LOCALE );
! 47: LOCALE_EXPOSE_CLASS_CONST( VALID_LOCALE );
! 48:
! 49: zend_declare_class_constant_null(Locale_ce_ptr, ZEND_STRS("DEFAULT_LOCALE") - 1 TSRMLS_CC);
! 50:
! 51: LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR( "LANG_TAG", LOC_LANG_TAG);
! 52: LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR( "EXTLANG_TAG", LOC_EXTLANG_TAG);
! 53: LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR( "SCRIPT_TAG", LOC_SCRIPT_TAG);
! 54: LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR( "REGION_TAG", LOC_REGION_TAG);
! 55: LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR( "VARIANT_TAG",LOC_VARIANT_TAG);
! 56: LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR( "GRANDFATHERED_LANG_TAG",LOC_GRANDFATHERED_LANG_TAG);
! 57: LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR( "PRIVATE_TAG",LOC_PRIVATE_TAG);
! 58:
! 59: #undef LOCALE_EXPOSE_CUSTOM_CLASS_CONST_STR
! 60: #undef LOCALE_EXPOSE_CLASS_CONST
! 61: #undef LOCALE_EXPOSE_CONST
! 62: }
! 63: /* }}} */
! 64:
! 65: /*
! 66: * Local variables:
! 67: * tab-width: 4
! 68: * c-basic-offset: 4
! 69: * End:
! 70: * vim600: noet sw=4 ts=4 fdm=marker
! 71: * vim<600: noet sw=4 ts=4
! 72: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>