@@ -5171,7 +5171,7 @@ static HashTable *date_object_get_properties_period(zval *object) /* {{{ */
5171
5171
5172
5172
if (period_obj -> start ) {
5173
5173
php_date_obj * date_obj ;
5174
- object_init_ex (& zv , date_ce_date );
5174
+ object_init_ex (& zv , period_obj -> start_ce );
5175
5175
date_obj = Z_PHPDATE_P (& zv );
5176
5176
date_obj -> time = timelib_time_clone (period_obj -> start );
5177
5177
} else {
@@ -5181,7 +5181,7 @@ static HashTable *date_object_get_properties_period(zval *object) /* {{{ */
5181
5181
5182
5182
if (period_obj -> current ) {
5183
5183
php_date_obj * date_obj ;
5184
- object_init_ex (& zv , date_ce_date );
5184
+ object_init_ex (& zv , period_obj -> start_ce );
5185
5185
date_obj = Z_PHPDATE_P (& zv );
5186
5186
date_obj -> time = timelib_time_clone (period_obj -> current );
5187
5187
} else {
@@ -5191,7 +5191,7 @@ static HashTable *date_object_get_properties_period(zval *object) /* {{{ */
5191
5191
5192
5192
if (period_obj -> end ) {
5193
5193
php_date_obj * date_obj ;
5194
- object_init_ex (& zv , date_ce_date );
5194
+ object_init_ex (& zv , period_obj -> start_ce );
5195
5195
date_obj = Z_PHPDATE_P (& zv );
5196
5196
date_obj -> time = timelib_time_clone (period_obj -> end );
5197
5197
} else {
@@ -5228,7 +5228,7 @@ static int php_date_period_initialize_from_hash(php_period_obj *period_obj, Hash
5228
5228
5229
5229
ht_entry = zend_hash_str_find (myht , "start" , sizeof ("start" )- 1 );
5230
5230
if (ht_entry ) {
5231
- if (Z_TYPE_P (ht_entry ) == IS_OBJECT && Z_OBJCE_P (ht_entry ) == date_ce_date ) {
5231
+ if (Z_TYPE_P (ht_entry ) == IS_OBJECT && instanceof_function ( Z_OBJCE_P (ht_entry ), date_ce_interface ) ) {
5232
5232
php_date_obj * date_obj ;
5233
5233
date_obj = Z_PHPDATE_P (ht_entry );
5234
5234
period_obj -> start = timelib_time_clone (date_obj -> time );
@@ -5242,7 +5242,7 @@ static int php_date_period_initialize_from_hash(php_period_obj *period_obj, Hash
5242
5242
5243
5243
ht_entry = zend_hash_str_find (myht , "end" , sizeof ("end" )- 1 );
5244
5244
if (ht_entry ) {
5245
- if (Z_TYPE_P (ht_entry ) == IS_OBJECT && Z_OBJCE_P (ht_entry ) == date_ce_date ) {
5245
+ if (Z_TYPE_P (ht_entry ) == IS_OBJECT && instanceof_function ( Z_OBJCE_P (ht_entry ), date_ce_interface ) ) {
5246
5246
php_date_obj * date_obj ;
5247
5247
date_obj = Z_PHPDATE_P (ht_entry );
5248
5248
period_obj -> end = timelib_time_clone (date_obj -> time );
@@ -5255,7 +5255,7 @@ static int php_date_period_initialize_from_hash(php_period_obj *period_obj, Hash
5255
5255
5256
5256
ht_entry = zend_hash_str_find (myht , "current" , sizeof ("current" )- 1 );
5257
5257
if (ht_entry ) {
5258
- if (Z_TYPE_P (ht_entry ) == IS_OBJECT && Z_OBJCE_P (ht_entry ) == date_ce_date ) {
5258
+ if (Z_TYPE_P (ht_entry ) == IS_OBJECT && instanceof_function ( Z_OBJCE_P (ht_entry ), date_ce_interface ) ) {
5259
5259
php_date_obj * date_obj ;
5260
5260
date_obj = Z_PHPDATE_P (ht_entry );
5261
5261
period_obj -> current = timelib_time_clone (date_obj -> time );
0 commit comments