toolchain: xpcg: update libfx usage

This commit is contained in:
2026-05-30 10:12:28 +01:00
parent c87e094d7d
commit 87fe2d20ec
13 changed files with 66 additions and 51 deletions
+8 -5
View File
@@ -71,7 +71,7 @@ static enum status refill_linebuf(struct line_source *src)
fx_string_replace_all_with_stringstream(line, s);
fx_stringstream_unref(s);
fx_array_append(src->s_lines, line);
fx_array_push_back(src->s_lines, FX_VALUE_OBJECT(line));
fx_string_unref(line);
src->s_linebuf = line;
@@ -96,7 +96,7 @@ static int peek(struct line_source *src)
return -ERR_EOF;
}
fx_wchar c = fx_iterator_get_value(src->s_linebuf_ptr).v_int;
fx_wchar c = fx_iterator_get_value(src->s_linebuf_ptr)->v_wchar;
return c;
}
@@ -116,7 +116,7 @@ static int advance(struct line_source *src)
return -ERR_EOF;
}
fx_wchar c = fx_iterator_get_value(src->s_linebuf_ptr).v_int;
fx_wchar c = fx_iterator_get_value(src->s_linebuf_ptr)->v_wchar;
fx_iterator_move_next(src->s_linebuf_ptr);
src->s_cursor.c_col++;
@@ -148,11 +148,14 @@ enum status line_source_get_row(
row--;
if (row >= fx_array_size(src->s_lines)) {
if (row >= fx_array_get_size(src->s_lines)) {
return ERR_EOF;
}
fx_string *line = fx_array_at(src->s_lines, row);
const fx_value *line_v = fx_array_get_ref(src->s_lines, row);
fx_string *line = NULL;
fx_value_get_object(line_v, &line);
*out = line;
return SUCCESS;