diff options
Diffstat (limited to 'ext/calendar')
-rw-r--r-- | ext/calendar/cal_unix.c | 2 | ||||
-rw-r--r-- | ext/calendar/calendar.c | 125 | ||||
-rw-r--r-- | ext/calendar/calendar.stub.php | 46 | ||||
-rw-r--r-- | ext/calendar/calendar_arginfo.h | 77 | ||||
-rw-r--r-- | ext/calendar/easter.c | 2 | ||||
-rw-r--r-- | ext/calendar/tests/jdtomonthname.phpt | 23 |
6 files changed, 138 insertions, 137 deletions
diff --git a/ext/calendar/cal_unix.c b/ext/calendar/cal_unix.c index e24ac56a25..e2c7cf064a 100644 --- a/ext/calendar/cal_unix.c +++ b/ext/calendar/cal_unix.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | diff --git a/ext/calendar/calendar.c b/ext/calendar/calendar.c index 3c7236de9a..e450722dd0 100644 --- a/ext/calendar/calendar.c +++ b/ext/calendar/calendar.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | @@ -25,6 +23,7 @@ #include "php.h" #include "ext/standard/info.h" +#include "calendar_arginfo.h" #include "php_calendar.h" #include "sdncal.h" @@ -36,100 +35,6 @@ #undef CAL_GREGORIAN #endif -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_unixtojd, 0, 0, 0) - ZEND_ARG_INFO(0, timestamp) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_jdtounix, 0) - ZEND_ARG_INFO(0, jday) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_cal_info, 0, 0, 0) - ZEND_ARG_INFO(0, calendar) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_cal_days_in_month, 0) - ZEND_ARG_INFO(0, calendar) - ZEND_ARG_INFO(0, month) - ZEND_ARG_INFO(0, year) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_cal_to_jd, 0) - ZEND_ARG_INFO(0, calendar) - ZEND_ARG_INFO(0, month) - ZEND_ARG_INFO(0, day) - ZEND_ARG_INFO(0, year) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_cal_from_jd, 0) - ZEND_ARG_INFO(0, jd) - ZEND_ARG_INFO(0, calendar) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_jdtogregorian, 0) - ZEND_ARG_INFO(0, juliandaycount) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_gregoriantojd, 0) - ZEND_ARG_INFO(0, month) - ZEND_ARG_INFO(0, day) - ZEND_ARG_INFO(0, year) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_jdtojulian, 0) - ZEND_ARG_INFO(0, juliandaycount) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_juliantojd, 0) - ZEND_ARG_INFO(0, month) - ZEND_ARG_INFO(0, day) - ZEND_ARG_INFO(0, year) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_jdtojewish, 0, 0, 1) - ZEND_ARG_INFO(0, juliandaycount) - ZEND_ARG_INFO(0, hebrew) - ZEND_ARG_INFO(0, fl) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_jewishtojd, 0) - ZEND_ARG_INFO(0, month) - ZEND_ARG_INFO(0, day) - ZEND_ARG_INFO(0, year) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_jdtofrench, 0) - ZEND_ARG_INFO(0, juliandaycount) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_frenchtojd, 0) - ZEND_ARG_INFO(0, month) - ZEND_ARG_INFO(0, day) - ZEND_ARG_INFO(0, year) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_jddayofweek, 0, 0, 1) - ZEND_ARG_INFO(0, juliandaycount) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_jdmonthname, 0) - ZEND_ARG_INFO(0, juliandaycount) - ZEND_ARG_INFO(0, mode) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_easter_date, 0, 0, 0) - ZEND_ARG_INFO(0, year) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_easter_days, 0, 0, 0) - ZEND_ARG_INFO(0, year) - ZEND_ARG_INFO(0, method) -ZEND_END_ARG_INFO() - -/* }}} */ - static const zend_function_entry calendar_functions[] = { PHP_FE(jdtogregorian, arginfo_jdtogregorian) PHP_FE(gregoriantojd, arginfo_gregoriantojd) @@ -295,7 +200,7 @@ PHP_FUNCTION(cal_info) if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &cal) == FAILURE) { - RETURN_FALSE; + return; } if (cal == -1) { @@ -331,7 +236,7 @@ PHP_FUNCTION(cal_days_in_month) zend_long sdn_start, sdn_next; if (zend_parse_parameters(ZEND_NUM_ARGS(), "lll", &cal, &month, &year) == FAILURE) { - RETURN_FALSE; + return; } if (cal < 0 || cal >= CAL_NUM_CALS) { @@ -377,7 +282,7 @@ PHP_FUNCTION(cal_to_jd) zend_long cal, month, day, year; if (zend_parse_parameters(ZEND_NUM_ARGS(), "llll", &cal, &month, &day, &year) != SUCCESS) { - RETURN_FALSE; + return; } if (cal < 0 || cal >= CAL_NUM_CALS) { @@ -398,7 +303,7 @@ PHP_FUNCTION(cal_from_jd) const struct cal_entry_t *calendar; if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &jd, &cal) == FAILURE) { - RETURN_FALSE; + return; } if (cal < 0 || cal >= CAL_NUM_CALS) { @@ -449,7 +354,7 @@ PHP_FUNCTION(jdtogregorian) int year, month, day; if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &julday) == FAILURE) { - RETURN_FALSE; + return; } SdnToGregorian(julday, &year, &month, &day); @@ -465,7 +370,7 @@ PHP_FUNCTION(gregoriantojd) zend_long year, month, day; if (zend_parse_parameters(ZEND_NUM_ARGS(), "lll", &month, &day, &year) == FAILURE) { - RETURN_FALSE; + return; } RETURN_LONG(GregorianToSdn(year, month, day)); @@ -480,7 +385,7 @@ PHP_FUNCTION(jdtojulian) int year, month, day; if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &julday) == FAILURE) { - RETURN_FALSE; + return; } SdnToJulian(julday, &year, &month, &day); @@ -496,7 +401,7 @@ PHP_FUNCTION(juliantojd) zend_long year, month, day; if (zend_parse_parameters(ZEND_NUM_ARGS(), "lll", &month, &day, &year) == FAILURE) { - RETURN_FALSE; + return; } RETURN_LONG(JulianToSdn(year, month, day)); @@ -609,7 +514,7 @@ PHP_FUNCTION(jdtojewish) char *dayp, *yearp; if (zend_parse_parameters(ZEND_NUM_ARGS(), "l|bl", &julday, &heb, &fl) == FAILURE) { - RETURN_FALSE; + return; } SdnToJewish(julday, &year, &month, &day); @@ -640,7 +545,7 @@ PHP_FUNCTION(jewishtojd) zend_long year, month, day; if (zend_parse_parameters(ZEND_NUM_ARGS(), "lll", &month, &day, &year) == FAILURE) { - RETURN_FALSE; + return; } RETURN_LONG(JewishToSdn(year, month, day)); @@ -655,7 +560,7 @@ PHP_FUNCTION(jdtofrench) int year, month, day; if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &julday) == FAILURE) { - RETURN_FALSE; + return; } SdnToFrench(julday, &year, &month, &day); @@ -671,7 +576,7 @@ PHP_FUNCTION(frenchtojd) zend_long year, month, day; if (zend_parse_parameters(ZEND_NUM_ARGS(), "lll", &month, &day, &year) == FAILURE) { - RETURN_FALSE; + return; } RETURN_LONG(FrenchToSdn(year, month, day)); @@ -687,7 +592,7 @@ PHP_FUNCTION(jddayofweek) const char *daynamel, *daynames; if (zend_parse_parameters(ZEND_NUM_ARGS(), "l|l", &julday, &mode) == FAILURE) { - RETURN_FALSE; + return; } day = DayOfWeek(julday); @@ -718,7 +623,7 @@ PHP_FUNCTION(jdmonthname) int month, day, year; if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &julday, &mode) == FAILURE) { - RETURN_FALSE; + return; } switch (mode) { diff --git a/ext/calendar/calendar.stub.php b/ext/calendar/calendar.stub.php new file mode 100644 index 0000000000..da08cd7037 --- /dev/null +++ b/ext/calendar/calendar.stub.php @@ -0,0 +1,46 @@ +<?php + +/** @return int|false */ +function cal_days_in_month(int $calendar, int $month, int $year) {} + +/** @return array<string, array<int, string>&int&string>|false */ +function cal_from_jd(int $jd, int $calendar) {} + +/** @return array|false */ +function cal_info(?int $calendar = UNKNOWN) {} + +/** @return int|false */ +function cal_to_jd(int $calendar, int $month, int $day, int $year) {} + +/** @return int|false */ +function easter_date(int $year = UNKNOWN, int $method = CAL_EASTER_DEFAULT) {} + +function easter_days(int $year = UNKNOWN, int $method = CAL_EASTER_DEFAULT): int {} + +function frenchtojd(int $month, int $day, int $year): int {} + +function gregoriantojd(int $month, int $day, int $year): int {} + +/** @return int|string */ +function jddayofweek(int $juliandaycount, int $mode = CAL_DOW_DAYNO) {} + +function jdmonthname(int $juliandaycount, int $mode): string {} + +function jdtofrench(int $juliandaycount): string {} + +function jdtogregorian(int $juliandaycount): string {} + +/** @return string|false */ +function jdtojewish(int $juliandaycount, bool $hebrew = false, int $fl = 0) {} + +function jdtojulian(int $juliandaycount): string {} + +/** @return int|false */ +function jdtounix(int $jday) {} + +function jewishtojd(int $month, int $day, int $year): int {} + +function juliantojd(int $month, int $day, int $year): int {} + +/** @return int|false */ +function unixtojd(int $timestamp = UNKNOWN) {} diff --git a/ext/calendar/calendar_arginfo.h b/ext/calendar/calendar_arginfo.h new file mode 100644 index 0000000000..6e526062b0 --- /dev/null +++ b/ext/calendar/calendar_arginfo.h @@ -0,0 +1,77 @@ +/* This is a generated file, edit the .stub.php file instead. */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_cal_days_in_month, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, calendar, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_cal_from_jd, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, jd, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, calendar, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_cal_info, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, calendar, IS_LONG, 1) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_cal_to_jd, 0, 0, 4) + ZEND_ARG_TYPE_INFO(0, calendar, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_easter_date, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, method, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_easter_days, 0, 0, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, method, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_frenchtojd, 0, 3, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, day, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_gregoriantojd arginfo_frenchtojd + +ZEND_BEGIN_ARG_INFO_EX(arginfo_jddayofweek, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, juliandaycount, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_jdmonthname, 0, 2, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, juliandaycount, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_jdtofrench, 0, 1, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, juliandaycount, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_jdtogregorian arginfo_jdtofrench + +ZEND_BEGIN_ARG_INFO_EX(arginfo_jdtojewish, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, juliandaycount, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, hebrew, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, fl, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_jdtojulian arginfo_jdtofrench + +ZEND_BEGIN_ARG_INFO_EX(arginfo_jdtounix, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, jday, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_jewishtojd arginfo_frenchtojd + +#define arginfo_juliantojd arginfo_frenchtojd + +ZEND_BEGIN_ARG_INFO_EX(arginfo_unixtojd, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0) +ZEND_END_ARG_INFO() diff --git a/ext/calendar/easter.c b/ext/calendar/easter.c index 2b9a2562e1..36c851d94f 100644 --- a/ext/calendar/easter.c +++ b/ext/calendar/easter.c @@ -1,7 +1,5 @@ /* +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | diff --git a/ext/calendar/tests/jdtomonthname.phpt b/ext/calendar/tests/jdtomonthname.phpt index 2ad50a450e..c7fa6cc774 100644 --- a/ext/calendar/tests/jdtomonthname.phpt +++ b/ext/calendar/tests/jdtomonthname.phpt @@ -9,7 +9,6 @@ $jd_days = Array( 2453396, 2440588, -1, - array(), 10000000 ); @@ -52,28 +51,6 @@ string(0) "" string(0) "" string(0) "" -=== -Notice: Array to string conversion in %sjdtomonthname.php on line %d -Array - -Warning: jdmonthname() expects parameter 1 to be int, array given in %s on line %d -bool(false) - -Warning: jdmonthname() expects parameter 1 to be int, array given in %s on line %d -bool(false) - -Warning: jdmonthname() expects parameter 1 to be int, array given in %s on line %d -bool(false) - -Warning: jdmonthname() expects parameter 1 to be int, array given in %s on line %d -bool(false) - -Warning: jdmonthname() expects parameter 1 to be int, array given in %s on line %d -bool(false) - -Warning: jdmonthname() expects parameter 1 to be int, array given in %s on line %d -bool(false) - === 10000000 string(3) "Dec" string(8) "December" |