}
// instantion of ICU object
+ Calendar_object *co = Z_INTL_CALENDAR_P(return_value);
GregorianCalendar *gcal = NULL;
+ if (co->ucal) {
+ zend_throw_error(NULL, "IntlGregorianCalendar object is already constructed");
+ RETURN_THROWS();
+ }
+
if (variant <= 2) {
// From timezone and locale (0 to 2 arguments)
TimeZone *tz = timezone_process_timezone_argument(tz_object, NULL,
gcal->adoptTimeZone(tz);
}
- Calendar_object *co = Z_INTL_CALENDAR_P(return_value);
- co->ucal = gcal;
+ co->ucal = gcal;
}
U_CFUNC PHP_FUNCTION(intlgregcal_create_instance)
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
+
+$cal = new IntlGregorianCalendar();
+try {
+ $cal->__construct();
+} catch (Error $e) {
+ echo $e->getMessage(), "\n";
+}
?>
--EXPECT--
Too many arguments
No variant with 4 arguments (excluding trailing NULLs)
No variant with 4 arguments (excluding trailing NULLs)
IntlGregorianCalendar::__construct(): Argument #6 ($second) must be of type int, array given
+IntlGregorianCalendar object is already constructed