diff options
author | wrmr | 2025-08-30 04:13:48 -0400 |
---|---|---|
committer | wrmr | 2025-08-30 04:13:48 -0400 |
commit | 39aa3cfe0e44bcd91eb0dfa6899c15f248b724f0 (patch) | |
tree | 46f9cc52d0174279bf3d155e61b38c76661dd66b /main.c | |
parent | 36896aea8f2502fb8100958ab5884edbc078d330 (diff) |
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -118,15 +118,15 @@ int fast_utf8_width(Str s) { return n; } -int utf8_cp_idx(Str s, int dest) { - int n = 0; - for (int i = 0; i < s.n && n < dest; i++) { +int utf8_cp_to_byte(Str s, int dest) { + int i, n; + for (i = 0, n = 0; i < s.n && n < dest; i++) { if (s.s[i] & 0x80) { i += stdc_leading_ones((unsigned char)s.s[i]) - 1; } n++; } - return n; + return i; } /* options */ @@ -559,7 +559,7 @@ void gfx_draw_pic(Pic *pfp, int y, int x, int max_lines, int max_cols, PicDrawFl if (f & PIC_LEFT) x -= w; if (f & PIC_TOP) y -= h; for (int i = 0; i < h; i++) { - int n = utf8_cp_idx(pfp->line[i], max_cols); + int n = utf8_cp_to_byte(pfp->line[i], max_cols); mvaddnstr(y + i, x, pfp->line[i].s, n); } if (f & PIC_BORDER) gfx_draw_box(y - 1, x - 1, h + 2, w + 2); |