From e901a3fc2569a47df21ebfd33c0bbcdf665e12c3 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Sun, 22 Jun 2025 08:47:24 +0530 Subject: (find_next_key): break after first match is found --- src/lexer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lexer.c b/src/lexer.c index dc972e9..ba6a778 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -12,8 +12,10 @@ find_next_key(char *buffer) key_match_t *match = calloc(1, sizeof(key_match_t)); for (size_t i = 0; i < strlen(buffer) - 1; i++) { - if (buffer[i] == '{' && buffer[i + 1] == '{') + if (buffer[i] == '{' && buffer[i + 1] == '{') { match->offset = i; + break; + } if (i == strlen(buffer) - 1) { free(match); @@ -23,8 +25,10 @@ find_next_key(char *buffer) char *subbuffer = buffer + match->offset; for (size_t i = 0; i < strlen(subbuffer) - 1; i++) { - if (subbuffer[i] == '}' && subbuffer[i + 1] == '}') + if (subbuffer[i] == '}' && subbuffer[i + 1] == '}') { match->length = i + 2; + break; + } if (i == strlen(buffer) - 1) { printf("Unterminated Key\n"); -- cgit v1.2.3