vtgl

terminal emulator implemented in OpenGL
git clone anongit@rnpnr.xyz:vtgl.git
Log | Files | Refs | Feed | LICENSE

Commit: 81d8897805130bf3b53ad044ec06bff0a71019ec
Parent: fe79be9321d5c98f36557d1af629b5fb037b6fae
Author: Randy Palamar
Date:   Fri, 16 Aug 2024 06:08:25 -0600

readability in raw line splitting

Diffstat:
Mterminal.c | 34++++++++++++++++------------------
1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/terminal.c b/terminal.c @@ -769,7 +769,8 @@ split_raw_input_to_lines(Term *t, s8 raw) raw = consume(raw, data - raw.data); if (raw.len) { - if (peek(raw, 0) == 0x1B) { + u32 cp = peek(raw, 0); + if (cp == 0x1B) { s8 old = raw; raw = consume(raw, 1); switch (check_if_escape_moves_cursor(t, &raw)) { @@ -793,24 +794,21 @@ split_raw_input_to_lines(Term *t, s8 raw) break; default: break; } - } else { - u32 cp = peek(raw, 0); - if (cp == '\n') { - raw = consume(raw, 1); - parsed_lines++; - feed_line(&tv->lines, raw.data, t->cursor.state); - } else if (cp & 0x80) { - tv->lines.buf[tv->lines.widx].has_unicode = 1; - /* TODO: this is probably slow */ - size old_len = raw.len; - if (get_utf8(&raw) == (u32)-1) { - /* NOTE: Need More Bytes! */ - t->unprocessed_bytes = old_len; - return parsed_lines; - } - } else { - raw = consume(raw, 1); + } else if (cp == '\n') { + raw = consume(raw, 1); + parsed_lines++; + feed_line(&tv->lines, raw.data, t->cursor.state); + } else if (cp & 0x80) { + tv->lines.buf[tv->lines.widx].has_unicode = 1; + /* TODO: this is probably slow */ + size old_len = raw.len; + if (get_utf8(&raw) == (u32)-1) { + /* NOTE: Need More Bytes! */ + t->unprocessed_bytes = old_len; + return parsed_lines; } + } else { + raw = consume(raw, 1); } }