@@ -5203,7 +5203,7 @@ static HashTable *date_object_get_properties_period(zval *object) /* {{{ */
5203
5203
5204
5204
if (period_obj -> start ) {
5205
5205
php_date_obj * date_obj ;
5206
- object_init_ex (& zv , date_ce_date );
5206
+ object_init_ex (& zv , period_obj -> start_ce );
5207
5207
date_obj = Z_PHPDATE_P (& zv );
5208
5208
date_obj -> time = timelib_time_clone (period_obj -> start );
5209
5209
} else {
@@ -5213,7 +5213,7 @@ static HashTable *date_object_get_properties_period(zval *object) /* {{{ */
5213
5213
5214
5214
if (period_obj -> current ) {
5215
5215
php_date_obj * date_obj ;
5216
- object_init_ex (& zv , date_ce_date );
5216
+ object_init_ex (& zv , period_obj -> start_ce );
5217
5217
date_obj = Z_PHPDATE_P (& zv );
5218
5218
date_obj -> time = timelib_time_clone (period_obj -> current );
5219
5219
} else {
@@ -5223,7 +5223,7 @@ static HashTable *date_object_get_properties_period(zval *object) /* {{{ */
5223
5223
5224
5224
if (period_obj -> end ) {
5225
5225
php_date_obj * date_obj ;
5226
- object_init_ex (& zv , date_ce_date );
5226
+ object_init_ex (& zv , period_obj -> start_ce );
5227
5227
date_obj = Z_PHPDATE_P (& zv );
5228
5228
date_obj -> time = timelib_time_clone (period_obj -> end );
5229
5229
} else {
@@ -5260,7 +5260,7 @@ static int php_date_period_initialize_from_hash(php_period_obj *period_obj, Hash
5260
5260
5261
5261
ht_entry = zend_hash_str_find (myht , "start" , sizeof ("start" )- 1 );
5262
5262
if (ht_entry ) {
5263
- if (Z_TYPE_P (ht_entry ) == IS_OBJECT && Z_OBJCE_P (ht_entry ) == date_ce_date ) {
5263
+ if (Z_TYPE_P (ht_entry ) == IS_OBJECT && instanceof_function ( Z_OBJCE_P (ht_entry ), date_ce_interface ) ) {
5264
5264
php_date_obj * date_obj ;
5265
5265
date_obj = Z_PHPDATE_P (ht_entry );
5266
5266
period_obj -> start = timelib_time_clone (date_obj -> time );
@@ -5274,7 +5274,7 @@ static int php_date_period_initialize_from_hash(php_period_obj *period_obj, Hash
5274
5274
5275
5275
ht_entry = zend_hash_str_find (myht , "end" , sizeof ("end" )- 1 );
5276
5276
if (ht_entry ) {
5277
- if (Z_TYPE_P (ht_entry ) == IS_OBJECT && Z_OBJCE_P (ht_entry ) == date_ce_date ) {
5277
+ if (Z_TYPE_P (ht_entry ) == IS_OBJECT && instanceof_function ( Z_OBJCE_P (ht_entry ), date_ce_interface ) ) {
5278
5278
php_date_obj * date_obj ;
5279
5279
date_obj = Z_PHPDATE_P (ht_entry );
5280
5280
period_obj -> end = timelib_time_clone (date_obj -> time );
@@ -5287,7 +5287,7 @@ static int php_date_period_initialize_from_hash(php_period_obj *period_obj, Hash
5287
5287
5288
5288
ht_entry = zend_hash_str_find (myht , "current" , sizeof ("current" )- 1 );
5289
5289
if (ht_entry ) {
5290
- if (Z_TYPE_P (ht_entry ) == IS_OBJECT && Z_OBJCE_P (ht_entry ) == date_ce_date ) {
5290
+ if (Z_TYPE_P (ht_entry ) == IS_OBJECT && instanceof_function ( Z_OBJCE_P (ht_entry ), date_ce_interface ) ) {
5291
5291
php_date_obj * date_obj ;
5292
5292
date_obj = Z_PHPDATE_P (ht_entry );
5293
5293
period_obj -> current = timelib_time_clone (date_obj -> time );
0 commit comments