1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Declare ext/calendar constants in stubs (#8630)

This commit is contained in:
Máté Kocsis
2022-05-25 12:11:15 +02:00
committed by GitHub
parent b4285e5546
commit facddfdccb
3 changed files with 157 additions and 44 deletions

View File

@@ -23,7 +23,6 @@
#include "php.h"
#include "ext/standard/info.h"
#include "calendar_arginfo.h"
#include "php_calendar.h"
#include "sdncal.h"
@@ -35,23 +34,6 @@
#undef CAL_GREGORIAN
#endif
zend_module_entry calendar_module_entry = {
STANDARD_MODULE_HEADER,
"calendar",
ext_functions,
PHP_MINIT(calendar),
NULL,
NULL,
NULL,
PHP_MINFO(calendar),
PHP_CALENDAR_VERSION,
STANDARD_MODULE_PROPERTIES,
};
#ifdef COMPILE_DL_CALENDAR
ZEND_GET_MODULE(calendar)
#endif
/* this order must match the conversion table below */
enum cal_name_type_t {
CAL_GREGORIAN = 0,
@@ -107,33 +89,29 @@ static const char alef_bet[25] = "0\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEB\
#define CAL_JEWISH_ADD_ALAFIM 0x4
#define CAL_JEWISH_ADD_GERESHAYIM 0x8
#include "calendar_arginfo.h"
zend_module_entry calendar_module_entry = {
STANDARD_MODULE_HEADER,
"calendar",
ext_functions,
PHP_MINIT(calendar),
NULL,
NULL,
NULL,
PHP_MINFO(calendar),
PHP_CALENDAR_VERSION,
STANDARD_MODULE_PROPERTIES,
};
#ifdef COMPILE_DL_CALENDAR
ZEND_GET_MODULE(calendar)
#endif
PHP_MINIT_FUNCTION(calendar)
{
REGISTER_LONG_CONSTANT("CAL_GREGORIAN", CAL_GREGORIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JULIAN", CAL_JULIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JEWISH", CAL_JEWISH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_FRENCH", CAL_FRENCH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_NUM_CALS", CAL_NUM_CALS, CONST_CS | CONST_PERSISTENT);
/* constants for jddayofweek */
REGISTER_LONG_CONSTANT("CAL_DOW_DAYNO", CAL_DOW_DAYNO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_DOW_SHORT", CAL_DOW_SHORT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_DOW_LONG", CAL_DOW_LONG, CONST_CS | CONST_PERSISTENT);
/* constants for jdmonthname */
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_SHORT", CAL_MONTH_GREGORIAN_SHORT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_LONG", CAL_MONTH_GREGORIAN_LONG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_SHORT", CAL_MONTH_JULIAN_SHORT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_LONG", CAL_MONTH_JULIAN_LONG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_JEWISH", CAL_MONTH_JEWISH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_FRENCH", CAL_MONTH_FRENCH, CONST_CS | CONST_PERSISTENT);
/* constants for easter calculation */
REGISTER_LONG_CONSTANT("CAL_EASTER_DEFAULT", CAL_EASTER_DEFAULT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_EASTER_ROMAN", CAL_EASTER_ROMAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_GREGORIAN", CAL_EASTER_ALWAYS_GREGORIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_JULIAN", CAL_EASTER_ALWAYS_JULIAN, CONST_CS | CONST_PERSISTENT);
/* constants for Jewish date formatting */
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM_GERESH", CAL_JEWISH_ADD_ALAFIM_GERESH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM", CAL_JEWISH_ADD_ALAFIM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_GERESHAYIM", CAL_JEWISH_ADD_GERESHAYIM, CONST_CS | CONST_PERSISTENT);
register_calendar_consts(module_number);
return SUCCESS;
}

View File

@@ -2,6 +2,116 @@
/** @generate-class-entries */
/**
* @var int
* @cname CAL_GREGORIAN
*/
const CAL_GREGORIAN = UNKNOWN;
/**
* @var int
* @cname CAL_JULIAN
*/
const CAL_JULIAN = UNKNOWN;
/**
* @var int
* @cname CAL_JEWISH
*/
const CAL_JEWISH = UNKNOWN;
/**
* @var int
* @cname CAL_FRENCH
*/
const CAL_FRENCH = UNKNOWN;
/**
* @var int
* @cname CAL_NUM_CALS
*/
const CAL_NUM_CALS = UNKNOWN;
/**
* @var int
* @cname CAL_DOW_DAYNO
*/
const CAL_DOW_DAYNO = UNKNOWN;
/**
* @var int
* @cname CAL_DOW_SHORT
*/
const CAL_DOW_SHORT = UNKNOWN;
/**
* @var int
* @cname CAL_DOW_LONG
*/
const CAL_DOW_LONG = UNKNOWN;
/**
* @var int
* @cname CAL_MONTH_GREGORIAN_SHORT
*/
const CAL_MONTH_GREGORIAN_SHORT = UNKNOWN;
/**
* @var int
* @cname CAL_MONTH_GREGORIAN_LONG
*/
const CAL_MONTH_GREGORIAN_LONG = UNKNOWN;
/**
* @var int
* @cname CAL_MONTH_JULIAN_SHORT
*/
const CAL_MONTH_JULIAN_SHORT = UNKNOWN;
/**
* @var int
* @cname CAL_MONTH_JULIAN_LONG
*/
const CAL_MONTH_JULIAN_LONG = UNKNOWN;
/**
* @var int
* @cname CAL_MONTH_JEWISH
*/
const CAL_MONTH_JEWISH = UNKNOWN;
/**
* @var int
* @cname CAL_MONTH_FRENCH
*/
const CAL_MONTH_FRENCH = UNKNOWN;
/**
* @var int
* @cname CAL_EASTER_DEFAULT
*/
const CAL_EASTER_DEFAULT = UNKNOWN;
/**
* @var int
* @cname CAL_EASTER_ROMAN
*/
const CAL_EASTER_ROMAN = UNKNOWN;
/**
* @var int
* @cname CAL_EASTER_ALWAYS_GREGORIAN
*/
const CAL_EASTER_ALWAYS_GREGORIAN = UNKNOWN;
/**
* @var int
* @cname CAL_EASTER_ALWAYS_JULIAN
*/
const CAL_EASTER_ALWAYS_JULIAN = UNKNOWN;
/**
* @var int
* @cname CAL_JEWISH_ADD_ALAFIM_GERESH
*/
const CAL_JEWISH_ADD_ALAFIM_GERESH = UNKNOWN;
/**
* @var int
* @cname CAL_JEWISH_ADD_ALAFIM
*/
const CAL_JEWISH_ADD_ALAFIM = UNKNOWN;
/**
* @var int
* @cname CAL_JEWISH_ADD_GERESHAYIM
*/
const CAL_JEWISH_ADD_GERESHAYIM = UNKNOWN;
function cal_days_in_month(int $calendar, int $month, int $year): int {}
/**

View File

@@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 574dfd0c871b5c71677a3bfa07fd605aea343477 */
* Stub hash: 6030cc249e7c1950818b3060ed2e565119710546 */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_cal_days_in_month, 0, 3, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, calendar, IS_LONG, 0)
@@ -116,3 +116,28 @@ static const zend_function_entry ext_functions[] = {
ZEND_FE(unixtojd, arginfo_unixtojd)
ZEND_FE_END
};
static void register_calendar_consts(int module_number)
{
REGISTER_LONG_CONSTANT("CAL_GREGORIAN", CAL_GREGORIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JULIAN", CAL_JULIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JEWISH", CAL_JEWISH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_FRENCH", CAL_FRENCH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_NUM_CALS", CAL_NUM_CALS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_DOW_DAYNO", CAL_DOW_DAYNO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_DOW_SHORT", CAL_DOW_SHORT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_DOW_LONG", CAL_DOW_LONG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_SHORT", CAL_MONTH_GREGORIAN_SHORT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_LONG", CAL_MONTH_GREGORIAN_LONG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_SHORT", CAL_MONTH_JULIAN_SHORT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_LONG", CAL_MONTH_JULIAN_LONG, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_JEWISH", CAL_MONTH_JEWISH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_MONTH_FRENCH", CAL_MONTH_FRENCH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_EASTER_DEFAULT", CAL_EASTER_DEFAULT, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_EASTER_ROMAN", CAL_EASTER_ROMAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_GREGORIAN", CAL_EASTER_ALWAYS_GREGORIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_JULIAN", CAL_EASTER_ALWAYS_JULIAN, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM_GERESH", CAL_JEWISH_ADD_ALAFIM_GERESH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM", CAL_JEWISH_ADD_ALAFIM, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_GERESHAYIM", CAL_JEWISH_ADD_GERESHAYIM, CONST_CS | CONST_PERSISTENT);
}