From 79f562d94a908d3ebfc9ac68a577dbc70f12c450 Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Wed, 31 Dec 2025 03:20:25 -0500 Subject: allow opening multiple files at once + replace modes --- vui.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'vui.c') diff --git a/vui.c b/vui.c index 299b394..f5d6fdd 100644 --- a/vui.c +++ b/vui.c @@ -615,26 +615,28 @@ static void truncate_span(int *x, unsigned *nptr) { *nptr = n; } -void vui_putsna(int x, int y, const char *s, unsigned srcn, VuiAttr a) { +u32 vui_putsna(int x, int y, const char *s, unsigned srcn, VuiAttr a) { u32 n = utf8_decode_len(s, srcn); truncate_span(&x, &n); - if (n < 1 || y < 0 || y >= (int)LINES) return; + if (n < 1 || y < 0 || y >= (int)LINES) return 0; VuiChar *dest = &CHR(x, y); utf8_decode(dest, s, n); for (u32 i = 0; i < n; i++) ASSERT(dest[i] > 0 && dest[i] <= KEY_UTF8_MAX); + u32 r = n; for (uint16_t *pa = &ATTR(x, y); n--;) *pa++ = a; + return r; } -void vui_putsn(int x, int y, const char *s, unsigned n) { - vui_putsna(x, y, s, n, ATTR_DEFAULT); +u32 vui_putsn(int x, int y, const char *s, unsigned n) { + return vui_putsna(x, y, s, n, ATTR_DEFAULT); } -void vui_putsa(int x, int y, const char *s, VuiAttr a) { - vui_putsna(x, y, s, strlen(s), a); +u32 vui_putsa(int x, int y, const char *s, VuiAttr a) { + return vui_putsna(x, y, s, strlen(s), a); } -void vui_puts(int x, int y, const char *s) { - vui_putsn(x, y, s, strlen(s)); +u32 vui_puts(int x, int y, const char *s) { + return vui_putsn(x, y, s, strlen(s)); } int vui_avprintf(int x, int y, VuiAttr a, const char *fmt, va_list ap) { -- cgit v1.2.3