Skip to content

Commit 8a7a024

Browse files
committed
fix: redundant checks
1 parent 7e1e4ea commit 8a7a024

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

json-build.h

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -279,12 +279,11 @@ jsonb_push_object(jsonb *b, char buf[], size_t bufsize)
279279
case JSONB_ARRAY_NEXT_VALUE_OR_CLOSE:
280280
BUFFER_COPY_CHAR(b, ',', pos, buf, bufsize);
281281
/* fall-through */
282-
case JSONB_OBJECT_VALUE:
283282
case JSONB_ARRAY_VALUE_OR_CLOSE:
284-
if (*b->top <= JSONB_OBJECT_NEXT_KEY_OR_CLOSE)
285-
new_state = JSONB_OBJECT_NEXT_KEY_OR_CLOSE;
286-
else if (*b->top <= JSONB_ARRAY_NEXT_VALUE_OR_CLOSE)
287-
new_state = JSONB_ARRAY_NEXT_VALUE_OR_CLOSE;
283+
new_state = JSONB_ARRAY_NEXT_VALUE_OR_CLOSE;
284+
break;
285+
case JSONB_OBJECT_VALUE:
286+
new_state = JSONB_OBJECT_NEXT_KEY_OR_CLOSE;
288287
break;
289288
case JSONB_ARRAY_OR_OBJECT_OR_VALUE:
290289
new_state = JSONB_DONE;
@@ -311,7 +310,7 @@ jsonb_pop_object(jsonb *b, char buf[], size_t bufsize)
311310
switch (*b->top) {
312311
case JSONB_OBJECT_KEY_OR_CLOSE:
313312
case JSONB_OBJECT_NEXT_KEY_OR_CLOSE:
314-
code = b->top - 1 == b->stack ? JSONB_END : JSONB_OK;
313+
code = b->stack == b->top - 1 ? JSONB_END : JSONB_OK;
315314
break;
316315
default:
317316
STACK_HEAD(b, JSONB_ERROR);
@@ -425,12 +424,11 @@ jsonb_push_array(jsonb *b, char buf[], size_t bufsize)
425424
case JSONB_ARRAY_NEXT_VALUE_OR_CLOSE:
426425
BUFFER_COPY_CHAR(b, ',', pos, buf, bufsize);
427426
/* fall-through */
428-
case JSONB_OBJECT_VALUE:
429427
case JSONB_ARRAY_VALUE_OR_CLOSE:
430-
if (*b->top <= JSONB_OBJECT_NEXT_KEY_OR_CLOSE)
431-
new_state = JSONB_OBJECT_NEXT_KEY_OR_CLOSE;
432-
else if (*b->top <= JSONB_ARRAY_NEXT_VALUE_OR_CLOSE)
433-
new_state = JSONB_ARRAY_NEXT_VALUE_OR_CLOSE;
428+
new_state = JSONB_ARRAY_NEXT_VALUE_OR_CLOSE;
429+
break;
430+
case JSONB_OBJECT_VALUE:
431+
new_state = JSONB_OBJECT_NEXT_KEY_OR_CLOSE;
434432
break;
435433
case JSONB_ARRAY_OR_OBJECT_OR_VALUE:
436434
new_state = JSONB_DONE;
@@ -439,6 +437,7 @@ jsonb_push_array(jsonb *b, char buf[], size_t bufsize)
439437
STACK_HEAD(b, JSONB_ERROR);
440438
/* fall-through */
441439
case JSONB_DONE:
440+
case JSONB_ERROR:
442441
return JSONB_ERROR_INPUT;
443442
}
444443
BUFFER_COPY_CHAR(b, '[', pos, buf, bufsize);
@@ -456,7 +455,7 @@ jsonb_pop_array(jsonb *b, char buf[], size_t bufsize)
456455
switch (*b->top) {
457456
case JSONB_ARRAY_VALUE_OR_CLOSE:
458457
case JSONB_ARRAY_NEXT_VALUE_OR_CLOSE:
459-
code = b->top - 1 == b->stack ? JSONB_END : JSONB_OK;
458+
code = b->stack == b->top - 1 ? JSONB_END : JSONB_OK;
460459
break;
461460
default:
462461
STACK_HEAD(b, JSONB_ERROR);

0 commit comments

Comments
 (0)