22
22
#include <stdio.h>
23
23
24
24
#include "bcon.h"
25
- #include " bson-config.h"
25
+ #include < bson/bson -config.h>
26
26
27
27
/* These stack manipulation macros are used to manage append recursion in
28
28
* bcon_append_ctx_va(). They take care of some awkward dereference rules (the
31
31
32
32
#define STACK_ELE (_delta , _name ) (ctx->stack[(_delta) + ctx->n]._name)
33
33
34
- #define STACK_BSON (_delta ) \
35
- (((_delta) + ctx->n) == 0 ? bson : &STACK_ELE (_delta, bson))
34
+ #define STACK_BSON (_delta ) (((_delta) + ctx->n) == 0 ? bson : &STACK_ELE (_delta, bson))
36
35
37
- #define STACK_ITER (_delta ) \
38
- (((_delta) + ctx->n) == 0 ? &root_iter : &STACK_ELE (_delta, iter))
36
+ #define STACK_ITER (_delta ) (((_delta) + ctx->n) == 0 ? &root_iter : &STACK_ELE (_delta, iter))
39
37
40
38
#define STACK_BSON_PARENT STACK_BSON (-1)
41
39
#define STACK_BSON_CHILD STACK_BSON (0)
@@ -205,10 +203,7 @@ _noop (void)
205
203
/* appends val to the passed bson object. Meant to be a super simple dispatch
206
204
* table */
207
205
static void
208
- _bcon_append_single (bson_t * bson ,
209
- bcon_type_t type ,
210
- const char * key ,
211
- bcon_append_t * val )
206
+ _bcon_append_single (bson_t * bson , bcon_type_t type , const char * key , bcon_append_t * val )
212
207
{
213
208
switch ((int ) type ) {
214
209
case BCON_TYPE_UTF8 :
@@ -218,8 +213,7 @@ _bcon_append_single (bson_t *bson,
218
213
BSON_ASSERT (bson_append_double (bson , key , -1 , val -> DOUBLE ));
219
214
break ;
220
215
case BCON_TYPE_BIN : {
221
- BSON_ASSERT (bson_append_binary (
222
- bson , key , -1 , val -> BIN .subtype , val -> BIN .binary , val -> BIN .length ));
216
+ BSON_ASSERT (bson_append_binary (bson , key , -1 , val -> BIN .subtype , val -> BIN .binary , val -> BIN .length ));
223
217
break ;
224
218
}
225
219
case BCON_TYPE_UNDEFINED :
@@ -238,13 +232,11 @@ _bcon_append_single (bson_t *bson,
238
232
BSON_ASSERT (bson_append_null (bson , key , -1 ));
239
233
break ;
240
234
case BCON_TYPE_REGEX : {
241
- BSON_ASSERT (
242
- bson_append_regex (bson , key , -1 , val -> REGEX .regex , val -> REGEX .flags ));
235
+ BSON_ASSERT (bson_append_regex (bson , key , -1 , val -> REGEX .regex , val -> REGEX .flags ));
243
236
break ;
244
237
}
245
238
case BCON_TYPE_DBPOINTER : {
246
- BSON_ASSERT (bson_append_dbpointer (
247
- bson , key , -1 , val -> DBPOINTER .collection , val -> DBPOINTER .oid ));
239
+ BSON_ASSERT (bson_append_dbpointer (bson , key , -1 , val -> DBPOINTER .collection , val -> DBPOINTER .oid ));
248
240
break ;
249
241
}
250
242
case BCON_TYPE_CODE :
@@ -254,15 +246,13 @@ _bcon_append_single (bson_t *bson,
254
246
BSON_ASSERT (bson_append_symbol (bson , key , -1 , val -> SYMBOL , -1 ));
255
247
break ;
256
248
case BCON_TYPE_CODEWSCOPE :
257
- BSON_ASSERT (bson_append_code_with_scope (
258
- bson , key , -1 , val -> CODEWSCOPE .js , val -> CODEWSCOPE .scope ));
249
+ BSON_ASSERT (bson_append_code_with_scope (bson , key , -1 , val -> CODEWSCOPE .js , val -> CODEWSCOPE .scope ));
259
250
break ;
260
251
case BCON_TYPE_INT32 :
261
252
BSON_ASSERT (bson_append_int32 (bson , key , -1 , val -> INT32 ));
262
253
break ;
263
254
case BCON_TYPE_TIMESTAMP : {
264
- BSON_ASSERT (bson_append_timestamp (
265
- bson , key , -1 , val -> TIMESTAMP .timestamp , val -> TIMESTAMP .increment ));
255
+ BSON_ASSERT (bson_append_timestamp (bson , key , -1 , val -> TIMESTAMP .timestamp , val -> TIMESTAMP .increment ));
266
256
break ;
267
257
}
268
258
case BCON_TYPE_INT64 :
@@ -315,9 +305,7 @@ _bcon_append_single (bson_t *bson,
315
305
* procedural verification (if a parameter could have multiple types).
316
306
* */
317
307
static bool
318
- _bcon_extract_single (const bson_iter_t * iter ,
319
- bcon_type_t type ,
320
- bcon_extract_t * val )
308
+ _bcon_extract_single (const bson_iter_t * iter , bcon_type_t type , bcon_extract_t * val )
321
309
{
322
310
switch ((int ) type ) {
323
311
case BCON_TYPE_UTF8 :
@@ -330,8 +318,7 @@ _bcon_extract_single (const bson_iter_t *iter,
330
318
break ;
331
319
case BCON_TYPE_BIN :
332
320
CHECK_TYPE (BSON_TYPE_BINARY );
333
- bson_iter_binary (
334
- iter , val -> BIN .subtype , val -> BIN .length , val -> BIN .binary );
321
+ bson_iter_binary (iter , val -> BIN .subtype , val -> BIN .length , val -> BIN .binary );
335
322
break ;
336
323
case BCON_TYPE_UNDEFINED :
337
324
CHECK_TYPE (BSON_TYPE_UNDEFINED );
@@ -358,8 +345,7 @@ _bcon_extract_single (const bson_iter_t *iter,
358
345
break ;
359
346
case BCON_TYPE_DBPOINTER :
360
347
CHECK_TYPE (BSON_TYPE_DBPOINTER );
361
- bson_iter_dbpointer (
362
- iter , NULL , val -> DBPOINTER .collection , val -> DBPOINTER .oid );
348
+ bson_iter_dbpointer (iter , NULL , val -> DBPOINTER .collection , val -> DBPOINTER .oid );
363
349
break ;
364
350
case BCON_TYPE_CODE :
365
351
CHECK_TYPE (BSON_TYPE_CODE );
@@ -386,8 +372,7 @@ _bcon_extract_single (const bson_iter_t *iter,
386
372
break ;
387
373
case BCON_TYPE_TIMESTAMP :
388
374
CHECK_TYPE (BSON_TYPE_TIMESTAMP );
389
- bson_iter_timestamp (
390
- iter , val -> TIMESTAMP .timestamp , val -> TIMESTAMP .increment );
375
+ bson_iter_timestamp (iter , val -> TIMESTAMP .timestamp , val -> TIMESTAMP .increment );
391
376
break ;
392
377
case BCON_TYPE_INT64 :
393
378
CHECK_TYPE (BSON_TYPE_INT64 );
@@ -772,8 +757,7 @@ bcon_append_ctx_va (bson_t *bson, bcon_append_ctx_t *ctx, va_list *ap)
772
757
}
773
758
774
759
if (type == BCON_TYPE_DOC_END ) {
775
- STACK_POP_DOC (
776
- bson_append_document_end (STACK_BSON_PARENT , STACK_BSON_CHILD ));
760
+ STACK_POP_DOC (bson_append_document_end (STACK_BSON_PARENT , STACK_BSON_CHILD ));
777
761
continue ;
778
762
}
779
763
@@ -797,20 +781,16 @@ bcon_append_ctx_va (bson_t *bson, bcon_append_ctx_t *ctx, va_list *ap)
797
781
798
782
break ;
799
783
case BCON_TYPE_DOC_START :
800
- STACK_PUSH_DOC (bson_append_document_begin (
801
- STACK_BSON_PARENT , key , -1 , STACK_BSON_CHILD ));
784
+ STACK_PUSH_DOC (bson_append_document_begin (STACK_BSON_PARENT , key , -1 , STACK_BSON_CHILD ));
802
785
break ;
803
786
case BCON_TYPE_DOC_END :
804
- STACK_POP_DOC (
805
- bson_append_document_end (STACK_BSON_PARENT , STACK_BSON_CHILD ));
787
+ STACK_POP_DOC (bson_append_document_end (STACK_BSON_PARENT , STACK_BSON_CHILD ));
806
788
break ;
807
789
case BCON_TYPE_ARRAY_START :
808
- STACK_PUSH_ARRAY (bson_append_array_begin (
809
- STACK_BSON_PARENT , key , -1 , STACK_BSON_CHILD ));
790
+ STACK_PUSH_ARRAY (bson_append_array_begin (STACK_BSON_PARENT , key , -1 , STACK_BSON_CHILD ));
810
791
break ;
811
792
case BCON_TYPE_ARRAY_END :
812
- STACK_POP_ARRAY (
813
- bson_append_array_end (STACK_BSON_PARENT , STACK_BSON_CHILD ));
793
+ STACK_POP_ARRAY (bson_append_array_end (STACK_BSON_PARENT , STACK_BSON_CHILD ));
814
794
break ;
815
795
default :
816
796
_bcon_append_single (STACK_BSON_CHILD , type , key , & u );
@@ -897,17 +877,15 @@ bcon_extract_ctx_va (bson_t *bson, bcon_extract_ctx_t *ctx, va_list *ap)
897
877
return false;
898
878
}
899
879
900
- STACK_PUSH_DOC (
901
- bson_iter_recurse (& current_iter , STACK_ITER_CHILD ));
880
+ STACK_PUSH_DOC (bson_iter_recurse (& current_iter , STACK_ITER_CHILD ));
902
881
break ;
903
882
case BCON_TYPE_ARRAY_START :
904
883
905
884
if (bson_iter_type (& current_iter ) != BSON_TYPE_ARRAY ) {
906
885
return false;
907
886
}
908
887
909
- STACK_PUSH_ARRAY (
910
- bson_iter_recurse (& current_iter , STACK_ITER_CHILD ));
888
+ STACK_PUSH_ARRAY (bson_iter_recurse (& current_iter , STACK_ITER_CHILD ));
911
889
break ;
912
890
default :
913
891
0 commit comments