| line |
true |
false |
branch |
|
46
|
0 |
5067 |
BSON_ASSERT (iter); |
|
47
|
0 |
5067 |
BSON_ASSERT (bson); |
|
49
|
0 |
5067 |
if (BSON_UNLIKELY (bson->len < 5)) { |
|
94
|
0 |
261 |
BSON_ASSERT (iter); |
|
95
|
0 |
261 |
BSON_ASSERT (child); |
|
97
|
247 |
14 |
if (ITER_TYPE (iter) == BSON_TYPE_DOCUMENT) { |
|
99
|
14 |
0 |
} else if (ITER_TYPE (iter) == BSON_TYPE_ARRAY) { |
|
143
|
0 |
0 |
BSON_ASSERT (iter); |
|
144
|
0 |
0 |
BSON_ASSERT (bson); |
|
145
|
0 |
0 |
BSON_ASSERT (key); |
|
147
|
0 |
0 |
return bson_iter_init (iter, bson) && bson_iter_find (iter, key); |
|
|
0 |
0 |
return bson_iter_init (iter, bson) && bson_iter_find (iter, key); |
|
172
|
0 |
0 |
BSON_ASSERT (iter); |
|
173
|
0 |
0 |
BSON_ASSERT (bson); |
|
174
|
0 |
0 |
BSON_ASSERT (key); |
|
176
|
0 |
0 |
return bson_iter_init (iter, bson) && bson_iter_find_case (iter, key); |
|
|
0 |
0 |
return bson_iter_init (iter, bson) && bson_iter_find_case (iter, key); |
|
203
|
0 |
0 |
if (keylen == 0) { |
|
207
|
0 |
0 |
if (keylen < 0) { |
|
211
|
0 |
0 |
while (bson_iter_next (iter)) { |
|
214
|
0 |
0 |
if ((0 == strncmp (key, ikey, keylen)) && (ikey [keylen] == '\0')) { |
|
|
0 |
0 |
if ((0 == strncmp (key, ikey, keylen)) && (ikey [keylen] == '\0')) { |
|
245
|
0 |
0 |
BSON_ASSERT (iter); |
|
246
|
0 |
0 |
BSON_ASSERT (key); |
|
274
|
0 |
0 |
BSON_ASSERT (iter); |
|
275
|
0 |
0 |
BSON_ASSERT (key); |
|
277
|
0 |
0 |
while (bson_iter_next (iter)) { |
|
281
|
0 |
0 |
if (!strcasecmp (key, bson_iter_key (iter))) { |
|
318
|
0 |
0 |
BSON_ASSERT (iter); |
|
319
|
0 |
0 |
BSON_ASSERT (dotkey); |
|
320
|
0 |
0 |
BSON_ASSERT (descendant); |
|
322
|
0 |
0 |
if ((dot = strchr (dotkey, '.'))) { |
|
328
|
0 |
0 |
if (_bson_iter_find_with_len (iter, dotkey, (int)sublen)) { |
|
329
|
0 |
0 |
if (!dot) { |
|
334
|
0 |
0 |
if (BSON_ITER_HOLDS_DOCUMENT (iter) || BSON_ITER_HOLDS_ARRAY (iter)) { |
|
|
0 |
0 |
if (BSON_ITER_HOLDS_DOCUMENT (iter) || BSON_ITER_HOLDS_ARRAY (iter)) { |
|
335
|
0 |
0 |
if (bson_iter_recurse (iter, &tmp)) { |
|
365
|
0 |
1905 |
BSON_ASSERT (iter); |
|
391
|
0 |
2020 |
BSON_ASSERT (iter); |
|
392
|
0 |
2020 |
BSON_ASSERT (iter->raw); |
|
393
|
0 |
2020 |
BSON_ASSERT (iter->len); |
|
432
|
0 |
7360 |
BSON_ASSERT (iter); |
|
436
|
0 |
7360 |
if (!iter->raw) { |
|
453
|
9029 |
3528 |
for (o = iter->off + 1; o < len; o++) { |
|
454
|
3832 |
5197 |
if (!data [o]) { |
|
480
|
0 |
263 |
if ((o + 4) >= len) { |
|
489
|
6 |
257 |
if (l > (len - (o + 4))) { |
|
499
|
253 |
4 |
if (BSON_UNLIKELY ((l == 0) || (iter->next_off >= len))) { |
|
|
5 |
248 |
if (BSON_UNLIKELY ((l == 0) || (iter->next_off >= len))) { |
|
507
|
3 |
245 |
if (BSON_UNLIKELY ((iter->raw + iter->d2)[l - 1] != '\0')) { |
|
518
|
0 |
58 |
if (o >= (len - 4)) { |
|
529
|
2 |
56 |
if (l >= (len - o)) { |
|
536
|
10 |
46 |
if (subtype == BSON_SUBTYPE_BINARY_DEPRECATED) { |
|
537
|
0 |
10 |
if (l < 4) { |
|
551
|
0 |
522 |
if (o >= (len - 4)) { |
|
559
|
522 |
0 |
if ((l > len) || (l > (len - o))) { |
|
|
0 |
522 |
if ((l > len) || (l > (len - o))) { |
|
574
|
24 |
10 |
if ( val != 0x00 && val != 0x01 ) { |
|
|
2 |
22 |
if ( val != 0x00 && val != 0x01 ) { |
|
587
|
238 |
0 |
for (; o < len; o++) { |
|
588
|
46 |
192 |
if (!data [o]) { |
|
595
|
0 |
46 |
if (!eor) { |
|
600
|
110 |
0 |
for (; o < len; o++) { |
|
601
|
46 |
64 |
if (!data [o]) { |
|
607
|
0 |
46 |
if (!eoo) { |
|
619
|
0 |
19 |
if (o >= (len - 4)) { |
|
628
|
18 |
1 |
if ((l > len) || (l > (len - o))) { |
|
|
0 |
18 |
if ((l > len) || (l > (len - o))) { |
|
633
|
1 |
17 |
if ( *(iter->raw + o + l + 3) ) { |
|
648
|
37 |
0 |
if ((len < 19) || (o >= (len - 14))) { |
|
|
0 |
37 |
if ((len < 19) || (o >= (len - 14))) { |
|
659
|
35 |
2 |
if ((l < 14) || (l >= (len - o))) { |
|
|
3 |
32 |
if ((l < 14) || (l >= (len - o))) { |
|
666
|
0 |
32 |
if (iter->next_off >= len) { |
|
674
|
2 |
30 |
if (l >= (len - o - 4 - 4)) { |
|
679
|
0 |
30 |
if ((o + 4 + 4 + l + 4) >= iter->next_off) { |
|
688
|
3 |
27 |
if ((o + 4 + 4 + l + doclen) != iter->next_off) { |
|
720
|
9 |
3778 |
if (iter->next_off >= len) { |
|
804
|
0 |
56 |
BSON_ASSERT (iter); |
|
805
|
56 |
0 |
BSON_ASSERT (!binary || binary_len); |
|
|
0 |
56 |
BSON_ASSERT (!binary || binary_len); |
|
807
|
56 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_BINARY) { |
|
808
|
0 |
56 |
if (!subtype) { |
|
814
|
56 |
0 |
if (binary) { |
|
819
|
10 |
46 |
if (*subtype == BSON_SUBTYPE_BINARY_DEPRECATED) { |
|
828
|
0 |
0 |
if (binary) { |
|
832
|
0 |
0 |
if (binary_len) { |
|
836
|
0 |
0 |
if (subtype) { |
|
861
|
0 |
18 |
BSON_ASSERT (iter); |
|
863
|
18 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_BOOL) { |
|
894
|
0 |
0 |
BSON_ASSERT (iter); |
|
935
|
0 |
59 |
BSON_ASSERT (iter); |
|
937
|
59 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DOUBLE) { |
|
964
|
0 |
69 |
BSON_ASSERT (iter); |
|
966
|
69 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_INT32) { |
|
994
|
0 |
25 |
BSON_ASSERT (iter); |
|
996
|
25 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_INT64) { |
|
1028
|
0 |
0 |
BSON_ASSERT (iter); |
|
1066
|
0 |
2412 |
BSON_ASSERT (iter); |
|
1068
|
2412 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DECIMAL128) { |
|
1097
|
0 |
20 |
BSON_ASSERT (iter); |
|
1099
|
20 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_OID) { |
|
1131
|
0 |
46 |
BSON_ASSERT (iter); |
|
1133
|
46 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_REGEX) { |
|
1138
|
46 |
0 |
if (options) { |
|
1171
|
0 |
203 |
BSON_ASSERT (iter); |
|
1173
|
203 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_UTF8) { |
|
1174
|
203 |
0 |
if (length) { |
|
1181
|
0 |
0 |
if (length) { |
|
1215
|
0 |
0 |
BSON_ASSERT (iter); |
|
1217
|
0 |
0 |
if ((str = bson_iter_utf8 (iter, &local_length))) { |
|
1223
|
0 |
0 |
if (length) { |
|
1257
|
0 |
18 |
BSON_ASSERT (iter); |
|
1259
|
18 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_CODE) { |
|
1260
|
18 |
0 |
if (length) { |
|
1267
|
0 |
0 |
if (length) { |
|
1310
|
0 |
27 |
BSON_ASSERT (iter); |
|
1312
|
27 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_CODEWSCOPE) { |
|
1313
|
27 |
0 |
if (length) { |
|
1324
|
0 |
0 |
if (length) { |
|
1328
|
0 |
0 |
if (scope_len) { |
|
1332
|
0 |
0 |
if (scope) { |
|
1376
|
0 |
15 |
BSON_ASSERT (iter); |
|
1378
|
15 |
0 |
if (collection) { |
|
1382
|
15 |
0 |
if (oid) { |
|
1386
|
15 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DBPOINTER) { |
|
1387
|
15 |
0 |
if (collection_len) { |
|
1391
|
14 |
1 |
if ((*collection_len) > 0) { |
|
1396
|
15 |
0 |
if (collection) { |
|
1400
|
15 |
0 |
if (oid) { |
|
1436
|
0 |
24 |
BSON_ASSERT (iter); |
|
1438
|
24 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_SYMBOL) { |
|
1443
|
24 |
0 |
if (length) { |
|
1471
|
0 |
21 |
BSON_ASSERT (iter); |
|
1473
|
21 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DATE_TIME) { |
|
1501
|
0 |
0 |
BSON_ASSERT (iter); |
|
1503
|
0 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DATE_TIME) { |
|
1542
|
0 |
16 |
BSON_ASSERT (iter); |
|
1544
|
16 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_TIMESTAMP) { |
|
1551
|
16 |
0 |
if (timestamp) { |
|
1555
|
16 |
0 |
if (increment) { |
|
1586
|
0 |
0 |
BSON_ASSERT (iter); |
|
1588
|
0 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DATE_TIME) { |
|
1645
|
0 |
492 |
BSON_ASSERT (iter); |
|
1646
|
0 |
492 |
BSON_ASSERT (document_len); |
|
1647
|
0 |
492 |
BSON_ASSERT (document); |
|
1652
|
492 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DOCUMENT) { |
|
1707
|
0 |
28 |
BSON_ASSERT (iter); |
|
1708
|
0 |
28 |
BSON_ASSERT (array_len); |
|
1709
|
0 |
28 |
BSON_ASSERT (array); |
|
1714
|
28 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_ARRAY) { |
|
1792
|
0 |
1879 |
BSON_ASSERT (iter); |
|
1793
|
0 |
1879 |
BSON_ASSERT (visitor); |
|
1795
|
1873 |
1863 |
while (_bson_iter_next_internal (iter, &key, &bson_type, &unsupported)) { |
|
1796
|
1869 |
4 |
if (*key && !bson_utf8_validate (key, strlen (key), false)) { |
|
|
0 |
1869 |
if (*key && !bson_utf8_validate (key, strlen (key), false)) { |
|
1801
|
1873 |
0 |
if (VISIT_BEFORE (iter, key, data)) { |
|
|
0 |
1873 |
if (VISIT_BEFORE (iter, key, data)) { |
|
1808
|
0 |
59 |
if (VISIT_DOUBLE (iter, key, bson_iter_double (iter), data)) { |
|
|
0 |
0 |
if (VISIT_DOUBLE (iter, key, bson_iter_double (iter), data)) { |
|
1820
|
3 |
97 |
if (!bson_utf8_validate (utf8, utf8_len, true)) { |
|
1825
|
97 |
0 |
if (VISIT_UTF8 (iter, key, utf8_len, utf8, data)) { |
|
|
0 |
97 |
if (VISIT_UTF8 (iter, key, utf8_len, utf8, data)) { |
|
1838
|
244 |
1 |
if (bson_init_static (&b, docbuf, doclen) && |
|
|
244 |
0 |
if (bson_init_static (&b, docbuf, doclen) && |
|
1839
|
0 |
244 |
VISIT_DOCUMENT (iter, key, &b, data)) { |
|
1852
|
14 |
0 |
if (bson_init_static (&b, docbuf, doclen) |
|
1853
|
14 |
0 |
&& VISIT_ARRAY (iter, key, &b, data)) { |
|
|
0 |
14 |
&& VISIT_ARRAY (iter, key, &b, data)) { |
|
1866
|
0 |
28 |
if (VISIT_BINARY (iter, key, subtype, binary_len, binary, data)) { |
|
|
0 |
0 |
if (VISIT_BINARY (iter, key, subtype, binary_len, binary, data)) { |
|
1873
|
0 |
2 |
if (VISIT_UNDEFINED (iter, key, data)) { |
|
|
0 |
0 |
if (VISIT_UNDEFINED (iter, key, data)) { |
|
1880
|
0 |
18 |
if (VISIT_OID (iter, key, bson_iter_oid (iter), data)) { |
|
|
0 |
0 |
if (VISIT_OID (iter, key, bson_iter_oid (iter), data)) { |
|
1887
|
0 |
14 |
if (VISIT_BOOL (iter, key, bson_iter_bool (iter), data)) { |
|
|
0 |
0 |
if (VISIT_BOOL (iter, key, bson_iter_bool (iter), data)) { |
|
1894
|
0 |
15 |
if (VISIT_DATE_TIME (iter, key, bson_iter_date_time (iter), data)) { |
|
|
0 |
0 |
if (VISIT_DATE_TIME (iter, key, bson_iter_date_time (iter), data)) { |
|
1901
|
0 |
7 |
if (VISIT_NULL (iter, key, data)) { |
|
|
0 |
0 |
if (VISIT_NULL (iter, key, data)) { |
|
1912
|
0 |
23 |
if (VISIT_REGEX (iter, key, regex, options, data)) { |
|
|
0 |
0 |
if (VISIT_REGEX (iter, key, regex, options, data)) { |
|
1925
|
0 |
8 |
if (VISIT_DBPOINTER (iter, key, collection_len, collection, oid, |
|
|
0 |
0 |
if (VISIT_DBPOINTER (iter, key, collection_len, collection, oid, |
|
1938
|
0 |
9 |
if (VISIT_CODE (iter, key, code_len, code, data)) { |
|
|
0 |
0 |
if (VISIT_CODE (iter, key, code_len, code, data)) { |
|
1950
|
0 |
12 |
if (VISIT_SYMBOL (iter, key, symbol_len, symbol, data)) { |
|
|
0 |
0 |
if (VISIT_SYMBOL (iter, key, symbol_len, symbol, data)) { |
|
1965
|
14 |
0 |
if (bson_init_static (&b, docbuf, doclen) && |
|
|
14 |
0 |
if (bson_init_static (&b, docbuf, doclen) && |
|
1966
|
13 |
1 |
VISIT_CODEWSCOPE (iter, key, length, code, &b, data)) { |
|
1973
|
0 |
59 |
if (VISIT_INT32 (iter, key, bson_iter_int32 (iter), data)) { |
|
|
0 |
0 |
if (VISIT_INT32 (iter, key, bson_iter_int32 (iter), data)) { |
|
1984
|
0 |
7 |
if (VISIT_TIMESTAMP (iter, key, timestamp, increment, data)) { |
|
|
0 |
0 |
if (VISIT_TIMESTAMP (iter, key, timestamp, increment, data)) { |
|
1991
|
0 |
25 |
if (VISIT_INT64 (iter, key, bson_iter_int64 (iter), data)) { |
|
|
0 |
0 |
if (VISIT_INT64 (iter, key, bson_iter_int64 (iter), data)) { |
|
2001
|
0 |
1206 |
if (VISIT_DECIMAL128 (iter, key, &dec, data)) { |
|
|
0 |
0 |
if (VISIT_DECIMAL128 (iter, key, &dec, data)) { |
|
2008
|
0 |
4 |
if (VISIT_MAXKEY (iter, bson_iter_key_unsafe (iter), data)) { |
|
|
0 |
0 |
if (VISIT_MAXKEY (iter, bson_iter_key_unsafe (iter), data)) { |
|
2015
|
0 |
4 |
if (VISIT_MINKEY (iter, bson_iter_key_unsafe (iter), data)) { |
|
|
0 |
0 |
if (VISIT_MINKEY (iter, bson_iter_key_unsafe (iter), data)) { |
|
2025
|
0 |
1857 |
if (VISIT_AFTER (iter, bson_iter_key_unsafe (iter), data)) { |
|
|
0 |
0 |
if (VISIT_AFTER (iter, bson_iter_key_unsafe (iter), data)) { |
|
2030
|
54 |
1809 |
if (iter->err_off) { |
|
2031
|
5 |
49 |
if (unsupported && |
|
|
5 |
0 |
if (unsupported && |
|
2032
|
5 |
0 |
visitor->visit_unsupported_type && |
|
2038
|
49 |
0 |
VISIT_CORRUPT (iter, data); |
|
2068
|
0 |
0 |
BSON_ASSERT (iter); |
|
2071
|
0 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_BOOL) { |
|
2098
|
0 |
0 |
BSON_ASSERT (iter); |
|
2100
|
0 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_INT32) { |
|
2130
|
0 |
0 |
BSON_ASSERT (iter); |
|
2132
|
0 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_INT64) { |
|
2162
|
0 |
0 |
BSON_ASSERT (iter); |
|
2164
|
0 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DOUBLE) { |
|
2191
|
0 |
0 |
BSON_ASSERT (iter); |
|
2193
|
0 |
0 |
if (ITER_TYPE (iter) == BSON_TYPE_DECIMAL128) { |
|
2230
|
0 |
0 |
BSON_ASSERT (iter); |