From 0feb6a86d49cedd15285064670382d2790524f21 Mon Sep 17 00:00:00 2001 From: katalx Date: Thu, 29 Jan 2026 03:20:42 -0500 Subject: utf-8 bullshit i guess --- main.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'main.c') diff --git a/main.c b/main.c index 44a8756..016035b 100644 --- a/main.c +++ b/main.c @@ -40,7 +40,7 @@ txt_insert(DynStr *s, int i, Str ins) } int -txt_delete(DynStr *s, int i, int n) +txt_delete_byte(DynStr *s, int i, int n) { if (n > i) n = i; if (n > 0) { @@ -50,6 +50,17 @@ txt_delete(DynStr *s, int i, int n) return i - n; } +int +txt_delete(DynStr *s, int i, int n) +{ + while (n--) { + i = txt_delete_byte(s, i, 1); + while (i > 0 && (~s->v[i-1] & 0x80)) + i = txt_delete_byte(s, i, 1); + } + return i; +} + int read_all(FILE *f, DynStr *out, Arena *a) { -- cgit v1.2.3