Files
Gina Peter Banyard c0250bac3a intl: stop including headers as C extern (#24617)
Except for arginfo header as PHP_FUNCTION/PHP_METHOD are marked as U_CFUNC and the `ext/date/php_date.h` header doesn't use extern C.

We now specificy the header symbols that _need_ to follow the C function ABI, meaning in some places we drop U_CFUNC declarations and in others we add it.

Also use the `BEGIN_EXTERN_C()` portability macro when possible so that searching for this is easier.
2026-10-23 21:51:52 +01:00

63 lines
1.9 KiB
C++

/*
+----------------------------------------------------------------------+
| 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 <https://www.php.net/license/>. |
| |
| SPDX-License-Identifier: BSD-3-Clause |
+----------------------------------------------------------------------+
| Authors: Kirti Velankar <kirtig@yahoo-inc.com> |
+----------------------------------------------------------------------+
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <unicode/udat.h>
#include "php_intl.h"
#include "dateformat_class.h"
#include "dateformat.h"
/* {{{ Get formatter's last error code. */
U_CFUNC PHP_FUNCTION( datefmt_get_error_code )
{
DATE_FORMAT_METHOD_INIT_VARS;
/* Parse parameters. */
if( zend_parse_method_parameters( ZEND_NUM_ARGS(), getThis(), "O",
&object, IntlDateFormatter_ce_ptr ) == FAILURE )
{
RETURN_THROWS();
}
dfo = Z_INTL_DATEFORMATTER_P( object );
/* Return formatter's last error code. */
RETURN_LONG( INTL_DATA_ERROR_CODE(dfo) );
}
/* }}} */
/* {{{ Get text description for formatter's last error code. */
U_CFUNC PHP_FUNCTION( datefmt_get_error_message )
{
zend_string *message = NULL;
DATE_FORMAT_METHOD_INIT_VARS;
/* Parse parameters. */
if( zend_parse_method_parameters( ZEND_NUM_ARGS(), getThis(), "O",
&object, IntlDateFormatter_ce_ptr ) == FAILURE )
{
RETURN_THROWS();
}
dfo = Z_INTL_DATEFORMATTER_P( object );
/* Return last error message. */
message = intl_error_get_message( INTL_DATA_ERROR_P(dfo) );
RETURN_STR( message);
}
/* }}} */