@@ -981,12 +981,13 @@ void object_to_bson(zval *object, php_phongo_bson_flags_t flags, const char *key
981
981
zval_to_bson (object , flags , & child , NULL TSRMLS_CC );
982
982
bson_append_document_end (bson , & child );
983
983
}
984
- void phongo_bson_append (bson_t * bson , php_phongo_bson_flags_t flags , const char * key , long key_len , int entry_type , zval * entry TSRMLS_DC )
984
+
985
+ static void phongo_bson_append (bson_t * bson , php_phongo_bson_flags_t flags , const char * key , long key_len , zval * entry TSRMLS_DC )
985
986
{
986
987
#if PHP_VERSION_ID >= 70000
987
988
try_again :
988
989
#endif
989
- switch (entry_type )
990
+ switch (Z_TYPE_P ( entry ) )
990
991
{
991
992
case IS_NULL :
992
993
bson_append_null (bson , key , key_len );
@@ -1046,17 +1047,16 @@ void phongo_bson_append(bson_t *bson, php_phongo_bson_flags_t flags, const char
1046
1047
1047
1048
#if PHP_VERSION_ID >= 70000
1048
1049
case IS_INDIRECT :
1049
- phongo_bson_append (bson , flags , key , key_len , Z_TYPE_P ( Z_INDIRECT_P ( entry )), Z_INDIRECT_P (entry ) TSRMLS_DC );
1050
+ phongo_bson_append (bson , flags , key , key_len , Z_INDIRECT_P (entry ) TSRMLS_DC );
1050
1051
break ;
1051
1052
1052
1053
case IS_REFERENCE :
1053
1054
ZVAL_DEREF (entry );
1054
- entry_type = Z_TYPE_P (entry );
1055
1055
goto try_again ;
1056
1056
#endif
1057
1057
1058
1058
default :
1059
- phongo_throw_exception (PHONGO_ERROR_UNEXPECTED_VALUE TSRMLS_CC , "Got unsupported type %d '%s'" , entry_type , zend_get_type_by_const (entry_type ));
1059
+ phongo_throw_exception (PHONGO_ERROR_UNEXPECTED_VALUE TSRMLS_CC , "Got unsupported type %d '%s'" , Z_TYPE_P ( entry ) , zend_get_type_by_const (Z_TYPE_P ( entry ) ));
1060
1060
}
1061
1061
}
1062
1062
@@ -1239,7 +1239,7 @@ PHONGO_API void zval_to_bson(zval *data, php_phongo_bson_flags_t flags, bson_t *
1239
1239
phongo_bson_append (bson , flags & ~PHONGO_BSON_ADD_ID ,
1240
1240
member ? ZSTR_VAL (member ) : ZSTR_VAL (key ),
1241
1241
member ? ZSTR_LEN (member ) : ZSTR_LEN (key ),
1242
- Z_TYPE_P ( value ), value TSRMLS_CC );
1242
+ value TSRMLS_CC );
1243
1243
1244
1244
if (member ) {
1245
1245
zend_string_release (member );
@@ -1250,14 +1250,14 @@ PHONGO_API void zval_to_bson(zval *data, php_phongo_bson_flags_t flags, bson_t *
1250
1250
flags &= ~PHONGO_BSON_ADD_ID ;
1251
1251
}
1252
1252
}
1253
- phongo_bson_append (bson , flags & ~PHONGO_BSON_ADD_ID , ZSTR_VAL (key ), ZSTR_LEN (key ), Z_TYPE_P ( value ), value TSRMLS_CC );
1253
+ phongo_bson_append (bson , flags & ~PHONGO_BSON_ADD_ID , ZSTR_VAL (key ), ZSTR_LEN (key ), value TSRMLS_CC );
1254
1254
}
1255
1255
} else {
1256
1256
char numbuf [32 ];
1257
1257
const char * skey ;
1258
1258
unsigned int skey_len = 0 ;
1259
1259
skey_len = bson_uint32_to_string (num_key , (const char * * )& skey , numbuf , sizeof (numbuf ));
1260
- phongo_bson_append (bson , flags & ~PHONGO_BSON_ADD_ID , skey , skey_len , Z_TYPE_P ( value ), value TSRMLS_CC );
1260
+ phongo_bson_append (bson , flags & ~PHONGO_BSON_ADD_ID , skey , skey_len , value TSRMLS_CC );
1261
1261
}
1262
1262
} ZEND_HASH_FOREACH_END ();
1263
1263
}
@@ -1304,7 +1304,7 @@ PHONGO_API void zval_to_bson(zval *data, php_phongo_bson_flags_t flags, bson_t *
1304
1304
} else {
1305
1305
key_len = bson_uint32_to_string (index , (const char * * )& key , numbuf , sizeof (numbuf ));
1306
1306
}
1307
- phongo_bson_append (bson , flags & ~PHONGO_BSON_ADD_ID , key , key_len , Z_TYPE_PP ( entry ), * entry TSRMLS_CC );
1307
+ phongo_bson_append (bson , flags & ~PHONGO_BSON_ADD_ID , key , key_len , * entry TSRMLS_CC );
1308
1308
}
1309
1309
#endif
1310
1310
0 commit comments