Skip to content

Commit 9a310ac

Browse files
committed
Declare ext/calendar constants in stubs
1 parent 212b31b commit 9a310ac

File tree

3 files changed

+157
-44
lines changed

3 files changed

+157
-44
lines changed

ext/calendar/calendar.c

Lines changed: 21 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
#include "php.h"
2525
#include "ext/standard/info.h"
26-
#include "calendar_arginfo.h"
2726
#include "php_calendar.h"
2827
#include "sdncal.h"
2928

@@ -35,23 +34,6 @@
3534
#undef CAL_GREGORIAN
3635
#endif
3736

38-
zend_module_entry calendar_module_entry = {
39-
STANDARD_MODULE_HEADER,
40-
"calendar",
41-
ext_functions,
42-
PHP_MINIT(calendar),
43-
NULL,
44-
NULL,
45-
NULL,
46-
PHP_MINFO(calendar),
47-
PHP_CALENDAR_VERSION,
48-
STANDARD_MODULE_PROPERTIES,
49-
};
50-
51-
#ifdef COMPILE_DL_CALENDAR
52-
ZEND_GET_MODULE(calendar)
53-
#endif
54-
5537
/* this order must match the conversion table below */
5638
enum cal_name_type_t {
5739
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\
10789
#define CAL_JEWISH_ADD_ALAFIM 0x4
10890
#define CAL_JEWISH_ADD_GERESHAYIM 0x8
10991

92+
#include "calendar_arginfo.h"
93+
94+
zend_module_entry calendar_module_entry = {
95+
STANDARD_MODULE_HEADER,
96+
"calendar",
97+
ext_functions,
98+
PHP_MINIT(calendar),
99+
NULL,
100+
NULL,
101+
NULL,
102+
PHP_MINFO(calendar),
103+
PHP_CALENDAR_VERSION,
104+
STANDARD_MODULE_PROPERTIES,
105+
};
106+
107+
#ifdef COMPILE_DL_CALENDAR
108+
ZEND_GET_MODULE(calendar)
109+
#endif
110+
110111
PHP_MINIT_FUNCTION(calendar)
111112
{
112-
REGISTER_LONG_CONSTANT("CAL_GREGORIAN", CAL_GREGORIAN, CONST_CS | CONST_PERSISTENT);
113-
REGISTER_LONG_CONSTANT("CAL_JULIAN", CAL_JULIAN, CONST_CS | CONST_PERSISTENT);
114-
REGISTER_LONG_CONSTANT("CAL_JEWISH", CAL_JEWISH, CONST_CS | CONST_PERSISTENT);
115-
REGISTER_LONG_CONSTANT("CAL_FRENCH", CAL_FRENCH, CONST_CS | CONST_PERSISTENT);
116-
REGISTER_LONG_CONSTANT("CAL_NUM_CALS", CAL_NUM_CALS, CONST_CS | CONST_PERSISTENT);
117-
/* constants for jddayofweek */
118-
REGISTER_LONG_CONSTANT("CAL_DOW_DAYNO", CAL_DOW_DAYNO, CONST_CS | CONST_PERSISTENT);
119-
REGISTER_LONG_CONSTANT("CAL_DOW_SHORT", CAL_DOW_SHORT, CONST_CS | CONST_PERSISTENT);
120-
REGISTER_LONG_CONSTANT("CAL_DOW_LONG", CAL_DOW_LONG, CONST_CS | CONST_PERSISTENT);
121-
/* constants for jdmonthname */
122-
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_SHORT", CAL_MONTH_GREGORIAN_SHORT, CONST_CS | CONST_PERSISTENT);
123-
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_LONG", CAL_MONTH_GREGORIAN_LONG, CONST_CS | CONST_PERSISTENT);
124-
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_SHORT", CAL_MONTH_JULIAN_SHORT, CONST_CS | CONST_PERSISTENT);
125-
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_LONG", CAL_MONTH_JULIAN_LONG, CONST_CS | CONST_PERSISTENT);
126-
REGISTER_LONG_CONSTANT("CAL_MONTH_JEWISH", CAL_MONTH_JEWISH, CONST_CS | CONST_PERSISTENT);
127-
REGISTER_LONG_CONSTANT("CAL_MONTH_FRENCH", CAL_MONTH_FRENCH, CONST_CS | CONST_PERSISTENT);
128-
/* constants for easter calculation */
129-
REGISTER_LONG_CONSTANT("CAL_EASTER_DEFAULT", CAL_EASTER_DEFAULT, CONST_CS | CONST_PERSISTENT);
130-
REGISTER_LONG_CONSTANT("CAL_EASTER_ROMAN", CAL_EASTER_ROMAN, CONST_CS | CONST_PERSISTENT);
131-
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_GREGORIAN", CAL_EASTER_ALWAYS_GREGORIAN, CONST_CS | CONST_PERSISTENT);
132-
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_JULIAN", CAL_EASTER_ALWAYS_JULIAN, CONST_CS | CONST_PERSISTENT);
133-
/* constants for Jewish date formatting */
134-
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM_GERESH", CAL_JEWISH_ADD_ALAFIM_GERESH, CONST_CS | CONST_PERSISTENT);
135-
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM", CAL_JEWISH_ADD_ALAFIM, CONST_CS | CONST_PERSISTENT);
136-
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_GERESHAYIM", CAL_JEWISH_ADD_GERESHAYIM, CONST_CS | CONST_PERSISTENT);
113+
register_calendar_consts(module_number);
114+
137115
return SUCCESS;
138116
}
139117

ext/calendar/calendar.stub.php

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,116 @@
22

33
/** @generate-class-entries */
44

5+
/**
6+
* @var int
7+
* @cname CAL_GREGORIAN
8+
*/
9+
const CAL_GREGORIAN = UNKNOWN;
10+
/**
11+
* @var int
12+
* @cname CAL_JULIAN
13+
*/
14+
const CAL_JULIAN = UNKNOWN;
15+
/**
16+
* @var int
17+
* @cname CAL_JEWISH
18+
*/
19+
const CAL_JEWISH = UNKNOWN;
20+
/**
21+
* @var int
22+
* @cname CAL_FRENCH
23+
*/
24+
const CAL_FRENCH = UNKNOWN;
25+
/**
26+
* @var int
27+
* @cname CAL_NUM_CALS
28+
*/
29+
const CAL_NUM_CALS = UNKNOWN;
30+
31+
/**
32+
* @var int
33+
* @cname CAL_DOW_DAYNO
34+
*/
35+
const CAL_DOW_DAYNO = UNKNOWN;
36+
/**
37+
* @var int
38+
* @cname CAL_DOW_SHORT
39+
*/
40+
const CAL_DOW_SHORT = UNKNOWN;
41+
/**
42+
* @var int
43+
* @cname CAL_DOW_LONG
44+
*/
45+
const CAL_DOW_LONG = UNKNOWN;
46+
47+
/**
48+
* @var int
49+
* @cname CAL_MONTH_GREGORIAN_SHORT
50+
*/
51+
const CAL_MONTH_GREGORIAN_SHORT = UNKNOWN;
52+
/**
53+
* @var int
54+
* @cname CAL_MONTH_GREGORIAN_LONG
55+
*/
56+
const CAL_MONTH_GREGORIAN_LONG = UNKNOWN;
57+
/**
58+
* @var int
59+
* @cname CAL_MONTH_JULIAN_SHORT
60+
*/
61+
const CAL_MONTH_JULIAN_SHORT = UNKNOWN;
62+
/**
63+
* @var int
64+
* @cname CAL_MONTH_JULIAN_LONG
65+
*/
66+
const CAL_MONTH_JULIAN_LONG = UNKNOWN;
67+
/**
68+
* @var int
69+
* @cname CAL_MONTH_JEWISH
70+
*/
71+
const CAL_MONTH_JEWISH = UNKNOWN;
72+
/**
73+
* @var int
74+
* @cname CAL_MONTH_FRENCH
75+
*/
76+
const CAL_MONTH_FRENCH = UNKNOWN;
77+
78+
/**
79+
* @var int
80+
* @cname CAL_EASTER_DEFAULT
81+
*/
82+
const CAL_EASTER_DEFAULT = UNKNOWN;
83+
/**
84+
* @var int
85+
* @cname CAL_EASTER_ROMAN
86+
*/
87+
const CAL_EASTER_ROMAN = UNKNOWN;
88+
/**
89+
* @var int
90+
* @cname CAL_EASTER_ALWAYS_GREGORIAN
91+
*/
92+
const CAL_EASTER_ALWAYS_GREGORIAN = UNKNOWN;
93+
/**
94+
* @var int
95+
* @cname CAL_EASTER_ALWAYS_JULIAN
96+
*/
97+
const CAL_EASTER_ALWAYS_JULIAN = UNKNOWN;
98+
99+
/**
100+
* @var int
101+
* @cname CAL_JEWISH_ADD_ALAFIM_GERESH
102+
*/
103+
const CAL_JEWISH_ADD_ALAFIM_GERESH = UNKNOWN;
104+
/**
105+
* @var int
106+
* @cname CAL_JEWISH_ADD_ALAFIM
107+
*/
108+
const CAL_JEWISH_ADD_ALAFIM = UNKNOWN;
109+
/**
110+
* @var int
111+
* @cname CAL_JEWISH_ADD_GERESHAYIM
112+
*/
113+
const CAL_JEWISH_ADD_GERESHAYIM = UNKNOWN;
114+
5115
function cal_days_in_month(int $calendar, int $month, int $year): int {}
6116

7117
/**

ext/calendar/calendar_arginfo.h

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: 574dfd0c871b5c71677a3bfa07fd605aea343477 */
2+
* Stub hash: 6030cc249e7c1950818b3060ed2e565119710546 */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_cal_days_in_month, 0, 3, IS_LONG, 0)
55
ZEND_ARG_TYPE_INFO(0, calendar, IS_LONG, 0)
@@ -116,3 +116,28 @@ static const zend_function_entry ext_functions[] = {
116116
ZEND_FE(unixtojd, arginfo_unixtojd)
117117
ZEND_FE_END
118118
};
119+
120+
static void register_calendar_consts(int module_number)
121+
{
122+
REGISTER_LONG_CONSTANT("CAL_GREGORIAN", CAL_GREGORIAN, CONST_CS | CONST_PERSISTENT);
123+
REGISTER_LONG_CONSTANT("CAL_JULIAN", CAL_JULIAN, CONST_CS | CONST_PERSISTENT);
124+
REGISTER_LONG_CONSTANT("CAL_JEWISH", CAL_JEWISH, CONST_CS | CONST_PERSISTENT);
125+
REGISTER_LONG_CONSTANT("CAL_FRENCH", CAL_FRENCH, CONST_CS | CONST_PERSISTENT);
126+
REGISTER_LONG_CONSTANT("CAL_NUM_CALS", CAL_NUM_CALS, CONST_CS | CONST_PERSISTENT);
127+
REGISTER_LONG_CONSTANT("CAL_DOW_DAYNO", CAL_DOW_DAYNO, CONST_CS | CONST_PERSISTENT);
128+
REGISTER_LONG_CONSTANT("CAL_DOW_SHORT", CAL_DOW_SHORT, CONST_CS | CONST_PERSISTENT);
129+
REGISTER_LONG_CONSTANT("CAL_DOW_LONG", CAL_DOW_LONG, CONST_CS | CONST_PERSISTENT);
130+
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_SHORT", CAL_MONTH_GREGORIAN_SHORT, CONST_CS | CONST_PERSISTENT);
131+
REGISTER_LONG_CONSTANT("CAL_MONTH_GREGORIAN_LONG", CAL_MONTH_GREGORIAN_LONG, CONST_CS | CONST_PERSISTENT);
132+
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_SHORT", CAL_MONTH_JULIAN_SHORT, CONST_CS | CONST_PERSISTENT);
133+
REGISTER_LONG_CONSTANT("CAL_MONTH_JULIAN_LONG", CAL_MONTH_JULIAN_LONG, CONST_CS | CONST_PERSISTENT);
134+
REGISTER_LONG_CONSTANT("CAL_MONTH_JEWISH", CAL_MONTH_JEWISH, CONST_CS | CONST_PERSISTENT);
135+
REGISTER_LONG_CONSTANT("CAL_MONTH_FRENCH", CAL_MONTH_FRENCH, CONST_CS | CONST_PERSISTENT);
136+
REGISTER_LONG_CONSTANT("CAL_EASTER_DEFAULT", CAL_EASTER_DEFAULT, CONST_CS | CONST_PERSISTENT);
137+
REGISTER_LONG_CONSTANT("CAL_EASTER_ROMAN", CAL_EASTER_ROMAN, CONST_CS | CONST_PERSISTENT);
138+
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_GREGORIAN", CAL_EASTER_ALWAYS_GREGORIAN, CONST_CS | CONST_PERSISTENT);
139+
REGISTER_LONG_CONSTANT("CAL_EASTER_ALWAYS_JULIAN", CAL_EASTER_ALWAYS_JULIAN, CONST_CS | CONST_PERSISTENT);
140+
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM_GERESH", CAL_JEWISH_ADD_ALAFIM_GERESH, CONST_CS | CONST_PERSISTENT);
141+
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_ALAFIM", CAL_JEWISH_ADD_ALAFIM, CONST_CS | CONST_PERSISTENT);
142+
REGISTER_LONG_CONSTANT("CAL_JEWISH_ADD_GERESHAYIM", CAL_JEWISH_ADD_GERESHAYIM, CONST_CS | CONST_PERSISTENT);
143+
}

0 commit comments

Comments
 (0)