@ -2596,16 +2596,18 @@ PHP_FUNCTION(date_create)
zval * timezone_object = NULL ;
char * time_str = NULL ;
int time_str_len = 0 ;
zval datetime_object ;
if ( zend_parse_parameters ( ZEND_NUM_ARGS ( ) TSRMLS_CC , " |sO! " , & time_str , & time_str_len , & timezone_object , date_ce_timezone ) = = FAILURE ) {
RETURN_FALSE ;
}
php_date_instantiate ( date_ce_date , return_value TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( return_value ) , time_str , time_str_len , NULL , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( return_value ) ;
php_date_instantiate ( date_ce_date , & datetime_object TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( & datetime_object ) , time_str , time_str_len , NULL , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( & datetime_object ) ;
RETURN_FALSE ;
}
RETVAL_ZVAL ( & datetime_object , 0 , 0 ) ;
}
/* }}} */
@ -2617,16 +2619,18 @@ PHP_FUNCTION(date_create_immutable)
zval * timezone_object = NULL ;
char * time_str = NULL ;
int time_str_len = 0 ;
zval datetime_object ;
if ( zend_parse_parameters ( ZEND_NUM_ARGS ( ) TSRMLS_CC , " |sO! " , & time_str , & time_str_len , & timezone_object , date_ce_timezone ) = = FAILURE ) {
RETURN_FALSE ;
}
php_date_instantiate ( date_ce_immutable , return_value TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( return_value ) , time_str , time_str_len , NULL , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( return_value ) ;
php_date_instantiate ( date_ce_immutable , & datetime_object TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( & datetime_object ) , time_str , time_str_len , NULL , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( & datetime_object ) ;
RETURN_FALSE ;
}
RETVAL_ZVAL ( & datetime_object , 0 , 0 ) ;
}
/* }}} */
@ -2638,16 +2642,18 @@ PHP_FUNCTION(date_create_from_format)
zval * timezone_object = NULL ;
char * time_str = NULL , * format_str = NULL ;
int time_str_len = 0 , format_str_len = 0 ;
zval datetime_object ;
if ( zend_parse_parameters ( ZEND_NUM_ARGS ( ) TSRMLS_CC , " ss|O " , & format_str , & format_str_len , & time_str , & time_str_len , & timezone_object , date_ce_timezone ) = = FAILURE ) {
RETURN_FALSE ;
}
php_date_instantiate ( date_ce_date , return_value TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( return_value ) , time_str , time_str_len , format_str , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( return_value ) ;
php_date_instantiate ( date_ce_date , & datetime_object TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( & datetime_object ) , time_str , time_str_len , format_str , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( & datetime_object ) ;
RETURN_FALSE ;
}
RETVAL_ZVAL ( & datetime_object , 0 , 0 ) ;
}
/* }}} */
@ -2659,16 +2665,18 @@ PHP_FUNCTION(date_create_immutable_from_format)
zval * timezone_object = NULL ;
char * time_str = NULL , * format_str = NULL ;
int time_str_len = 0 , format_str_len = 0 ;
zval datetime_object ;
if ( zend_parse_parameters ( ZEND_NUM_ARGS ( ) TSRMLS_CC , " ss|O " , & format_str , & format_str_len , & time_str , & time_str_len , & timezone_object , date_ce_timezone ) = = FAILURE ) {
RETURN_FALSE ;
}
php_date_instantiate ( date_ce_immutable , return_value TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( return_value ) , time_str , time_str_len , format_str , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( return_value ) ;
php_date_instantiate ( date_ce_immutable , & datetime_object TSRMLS_CC ) ;
if ( ! php_date_initialize ( Z_PHPDATE_P ( & datetime_object ) , time_str , time_str_len , format_str , timezone_object , 0 TSRMLS_CC ) ) {
zval_dtor ( & datetime_object ) ;
RETURN_FALSE ;
}
RETVAL_ZVAL ( & datetime_object , 0 , 0 ) ;
}
/* }}} */
@ -2738,7 +2746,7 @@ PHP_METHOD(DateTimeImmutable, createFromMutable)
}
/* }}} */
static int php_date_initialize_from_hash ( zval * return_value , php_date_obj * * dateobj , HashTable * myht TSRMLS_DC ) /* { { { */
static int php_date_initialize_from_hash ( php_date_obj * * dateobj , HashTable * myht TSRMLS_DC )
{
zval * z_date ;
zval * z_timezone ;
@ -2810,7 +2818,7 @@ PHP_METHOD(DateTime, __set_state)
php_date_instantiate ( date_ce_date , return_value TSRMLS_CC ) ;
dateobj = Z_PHPDATE_P ( return_value ) ;
if ( ! php_date_initialize_from_hash ( return_value , & dateobj , myht TSRMLS_CC ) ) {
if ( ! php_date_initialize_from_hash ( & dateobj , myht TSRMLS_CC ) ) {
php_error ( E_ERROR , " Invalid serialization data for DateTime object " ) ;
}
}
@ -2832,7 +2840,7 @@ PHP_METHOD(DateTimeImmutable, __set_state)
php_date_instantiate ( date_ce_immutable , return_value TSRMLS_CC ) ;
dateobj = Z_PHPDATE_P ( return_value ) ;
if ( ! php_date_initialize_from_hash ( return_value , & dateobj , myht TSRMLS_CC ) ) {
if ( ! php_date_initialize_from_hash ( & dateobj , myht TSRMLS_CC ) ) {
php_error ( E_ERROR , " Invalid serialization data for DateTimeImmutable object " ) ;
}
}
@ -2850,7 +2858,7 @@ PHP_METHOD(DateTime, __wakeup)
myht = Z_OBJPROP_P ( object ) ;
if ( ! php_date_initialize_from_hash ( return_value , & dateobj , myht TSRMLS_CC ) ) {
if ( ! php_date_initialize_from_hash ( & dateobj , myht TSRMLS_CC ) ) {
php_error ( E_ERROR , " Invalid serialization data for DateTime object " ) ;
}
}