From 955face03fc66f20fd03c94a3cb00fbe025ed8dc Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Sun, 27 Jul 2025 12:01:41 +0530 Subject: engine,lexer: use strdup() instead of hacking asprintf() --- src/engine.c | 7 +++---- src/lexer.c | 8 +++----- 2 files changed, 6 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/engine.c b/src/engine.c index 50cfd56..413b2d1 100644 --- a/src/engine.c +++ b/src/engine.c @@ -8,6 +8,7 @@ #include #include #include +#include void handle_include(char **buffer, key_match_t *match, directive_t *directive) @@ -25,8 +26,7 @@ handle_include(char **buffer, key_match_t *match, directive_t *directive) unsigned int size = fsize(f); char *partial_content = fcontent(f, size); - char *temp_buffer; - asprintf(&temp_buffer, "%s", *buffer); + char *temp_buffer = strdup(*buffer); free(*buffer); asprintf(buffer, @@ -53,8 +53,7 @@ handle_contentfor(char **buffer, printf("CONTENT: %s\n", operand->content); #endif - char *temp_buffer; - asprintf(&temp_buffer, "%s", *buffer); + char *temp_buffer = strdup(*buffer); free(*buffer); asprintf(buffer, diff --git a/src/lexer.c b/src/lexer.c index dcf4250..0adfb77 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -27,8 +27,7 @@ lex(char *buffer) current_offset += key->length + key->offset; if (current_offset != 0) { - char *raw_content; - asprintf(&raw_content, "%.*s", (int) key->offset, buffer); + char *raw_content = strndup(buffer, key->offset); directive_t *raw_directive = malloc(sizeof(directive_t)); raw_directive->type = _RAW; @@ -42,8 +41,7 @@ lex(char *buffer) } if (strlen(buffer) > 0) { - char *raw_content; - asprintf(&raw_content, "%s", buffer); + char *raw_content = strdup(buffer); directive_t *raw_directive = malloc(sizeof(directive_t)); raw_directive->type = _RAW; @@ -163,7 +161,7 @@ lexer_handle_contentfor(directive_t *directive, } } - asprintf(&operands->content, "%.*s", new_match->offset, buffer); + operands->content = strndup(buffer, new_match->offset); operands->length = match->offset + match->length + new_match->offset + new_match->length; -- cgit v1.2.3