Skip to content

Commit aded2a8

Browse files
committed
Merge pull request #284
2 parents f09f36f + b307fb9 commit aded2a8

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

src/bson.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1232,7 +1232,7 @@ PHONGO_API void phongo_zval_to_bson(zval *data, php_phongo_bson_flags_t flags, b
12321232
}
12331233

12341234
if (flags & PHONGO_BSON_ADD_ID) {
1235-
if (!strncmp(member ? ZSTR_VAL(member) : ZSTR_VAL(string_key), "_id", sizeof("_id")-1)) {
1235+
if (!strcmp(member ? ZSTR_VAL(member) : ZSTR_VAL(string_key), "_id")) {
12361236
flags &= ~PHONGO_BSON_ADD_ID;
12371237
}
12381238
}
@@ -1247,7 +1247,7 @@ PHONGO_API void phongo_zval_to_bson(zval *data, php_phongo_bson_flags_t flags, b
12471247
}
12481248
} else {
12491249
if (flags & PHONGO_BSON_ADD_ID) {
1250-
if (!strncmp(ZSTR_VAL(string_key), "_id", sizeof("_id")-1)) {
1250+
if (!strcmp(ZSTR_VAL(string_key), "_id")) {
12511251
flags &= ~PHONGO_BSON_ADD_ID;
12521252
}
12531253
}
@@ -1292,7 +1292,7 @@ PHONGO_API void phongo_zval_to_bson(zval *data, php_phongo_bson_flags_t flags, b
12921292
}
12931293

12941294
if (flags & PHONGO_BSON_ADD_ID) {
1295-
if (!strncmp(string_key, "_id", sizeof("_id")-1)) {
1295+
if (!strcmp(string_key, "_id")) {
12961296
flags &= ~PHONGO_BSON_ADD_ID;
12971297
}
12981298
}

tests/bulk/bug0667.phpt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
--TEST--
2+
PHPC-667: BulkWrite::insert() does not generate ObjectID if another field has "_id" prefix
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
--FILE--
6+
<?php
7+
require_once __DIR__ . "/../utils/basic.inc";
8+
9+
$bulk = new MongoDB\Driver\BulkWrite;
10+
var_dump($bulk->insert(['_ids' => 1]));
11+
var_dump($bulk->insert((object) ['_ids' => 1]));
12+
13+
?>
14+
===DONE===
15+
<?php exit(0); ?>
16+
--EXPECTF--
17+
object(MongoDB\BSON\ObjectID)#%d (%d) {
18+
["oid"]=>
19+
string(24) "%x"
20+
}
21+
object(MongoDB\BSON\ObjectID)#%d (%d) {
22+
["oid"]=>
23+
string(24) "%x"
24+
}
25+
===DONE===

0 commit comments

Comments
 (0)