@@ -421,7 +421,6 @@ static void State_free(void *ptr)
421
421
if (state -> space_before ) ruby_xfree (state -> space_before );
422
422
if (state -> object_nl ) ruby_xfree (state -> object_nl );
423
423
if (state -> array_nl ) ruby_xfree (state -> array_nl );
424
- if (state -> object_delim2 ) fbuffer_free (state -> object_delim2 );
425
424
ruby_xfree (state );
426
425
}
427
426
@@ -434,7 +433,6 @@ static size_t State_memsize(const void *ptr)
434
433
if (state -> space_before ) size += state -> space_before_len + 1 ;
435
434
if (state -> object_nl ) size += state -> object_nl_len + 1 ;
436
435
if (state -> array_nl ) size += state -> array_nl_len + 1 ;
437
- if (state -> object_delim2 ) size += FBUFFER_CAPA (state -> object_delim2 );
438
436
return size ;
439
437
}
440
438
@@ -648,8 +646,6 @@ json_object_i(VALUE key, VALUE val, VALUE _arg)
648
646
long object_nl_len = state -> object_nl_len ;
649
647
char * indent = state -> indent ;
650
648
long indent_len = state -> indent_len ;
651
- char * delim2 = FBUFFER_PTR (state -> object_delim2 );
652
- long delim2_len = FBUFFER_LEN (state -> object_delim2 );
653
649
long depth = state -> depth ;
654
650
int j ;
655
651
@@ -677,7 +673,9 @@ json_object_i(VALUE key, VALUE val, VALUE _arg)
677
673
}
678
674
679
675
generate_json_string (buffer , Vstate , state , key_to_s );
680
- fbuffer_append (buffer , delim2 , delim2_len );
676
+ if (RB_UNLIKELY (state -> space_before )) fbuffer_append (buffer , state -> space_before , state -> space_before_len );
677
+ fbuffer_append_char (buffer , ':' );
678
+ if (RB_UNLIKELY (state -> space )) fbuffer_append (buffer , state -> space , state -> space_len );
681
679
generate_json (buffer , Vstate , state , val );
682
680
683
681
arg -> iter ++ ;
@@ -885,15 +883,6 @@ static FBuffer *cState_prepare_buffer(VALUE self)
885
883
GET_STATE (self );
886
884
buffer = fbuffer_alloc (state -> buffer_initial_length );
887
885
888
- if (state -> object_delim2 ) {
889
- fbuffer_clear (state -> object_delim2 );
890
- } else {
891
- state -> object_delim2 = fbuffer_alloc (16 );
892
- }
893
- if (state -> space_before ) fbuffer_append (state -> object_delim2 , state -> space_before , state -> space_before_len );
894
- fbuffer_append_char (state -> object_delim2 , ':' );
895
- if (state -> space ) fbuffer_append (state -> object_delim2 , state -> space , state -> space_len );
896
-
897
886
return buffer ;
898
887
}
899
888
@@ -1006,7 +995,6 @@ static VALUE cState_init_copy(VALUE obj, VALUE orig)
1006
995
objState -> space_before = fstrndup (origState -> space_before , origState -> space_before_len );
1007
996
objState -> object_nl = fstrndup (origState -> object_nl , origState -> object_nl_len );
1008
997
objState -> array_nl = fstrndup (origState -> array_nl , origState -> array_nl_len );
1009
- if (origState -> object_delim2 ) objState -> object_delim2 = fbuffer_dup (origState -> object_delim2 );
1010
998
return obj ;
1011
999
}
1012
1000
0 commit comments