aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.c')
-rw-r--r--src/lexer.c8
1 files changed, 3 insertions, 5 deletions
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;