@@ -452,6 +452,7 @@ HashTable *php_phongo_writeresult_get_debug_info(zval *object, int *is_temp TSRM
452
452
php_phongo_writeresult_t * intern ;
453
453
zval retval = zval_used_for_init ;
454
454
php_phongo_bson_state state = PHONGO_BSON_STATE_INITIALIZER ;
455
+ bson_iter_t iter ;
455
456
456
457
intern = (php_phongo_writeresult_t * )zend_object_store_get_object (object TSRMLS_CC );
457
458
* is_temp = 1 ;
@@ -479,10 +480,21 @@ HashTable *php_phongo_writeresult_get_debug_info(zval *object, int *is_temp TSRM
479
480
bson_to_zval (bson_get_data (& intern -> write_result .writeErrors ), intern -> write_result .writeErrors .len , & state );
480
481
add_assoc_zval_ex (& retval , ZEND_STRS ("writeErrors" ), state .zchild );
481
482
483
+ if (!bson_empty0 (& intern -> write_result .writeConcernErrors ) &&
484
+ bson_iter_init (& iter , & intern -> write_result .writeConcernErrors ) &&
485
+ bson_iter_next (& iter ) &&
486
+ BSON_ITER_HOLDS_DOCUMENT (& iter )) {
487
+ uint32_t len ;
488
+ const uint8_t * data ;
482
489
483
- MAKE_STD_ZVAL (state .zchild );
484
- bson_to_zval (bson_get_data (& intern -> write_result .writeConcernError ), intern -> write_result .writeConcernError .len , & state );
485
- add_assoc_zval_ex (& retval , ZEND_STRS ("writeConcernError" ), state .zchild );
490
+ bson_iter_document (& iter , & len , & data );
491
+
492
+ MAKE_STD_ZVAL (state .zchild );
493
+ bson_to_zval (data , len , & state );
494
+ add_assoc_zval_ex (& retval , ZEND_STRS ("writeConcernError" ), state .zchild );
495
+ } else {
496
+ add_assoc_null_ex (& retval , ZEND_STRS ("writeConcernError" ));
497
+ }
486
498
487
499
if (intern -> write_concern ) {
488
500
zval * write_concern = NULL ;
0 commit comments