fix: sanitizer checks fix (iteration 1)

This commit is contained in:
samsonium
2026-10-19 19:41:39 +03:00
parent 04b367e7a0
commit 1289f6c150
7 changed files with 167 additions and 85 deletions
+7 -6
View File
@@ -204,31 +204,31 @@ fzl_token_t *parse_number(fzl_reader_t *reader)
// Add single-char token
fzl_token_t *add_single(fzl_reader_t *reader, fzl_toktype_t type)
{
size_t p = move(reader, 1);
fzl_file_loc l;
bool ok = fzl_linked_getpos(reader->linked, p, &l);
bool ok = fzl_linked_getpos(reader->linked, reader->position, &l);
if (!ok)
{
snprintf(last_err, sizeof(last_err), "failed to locate line:col");
return NULL;
}
return fzl_mktoken(type, l.line, l.col, NULL, 0, l.filename);
move(reader, 1);
return fzl_mktoken(type, l.line, l.col, "", 0, l.filename);
}
// Add double-char token
fzl_token_t *add_double(fzl_reader_t *reader, fzl_toktype_t type)
{
size_t p = move(reader, 2);
fzl_file_loc l;
bool ok = fzl_linked_getpos(reader->linked, p, &l);
bool ok = fzl_linked_getpos(reader->linked, reader->position, &l);
if (!ok)
{
snprintf(last_err, sizeof(last_err), "failed to locate line:col");
return NULL;
}
return fzl_mktoken(type, l.line, l.col, NULL, 0, l.filename);
move(reader, 2);
return fzl_mktoken(type, l.line, l.col, "", 0, l.filename);
}
// Skip symbols until '\n' or EOF
@@ -353,6 +353,7 @@ int fzl_read(fzl_reader_t *reader)
}
fzl_reader_ll_t *tok_node = malloc(sizeof(fzl_reader_ll_t));
tok_node->next = NULL;
tok_node->token = token;
reader->last->next = tok_node;