mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-18 05:34:02 -04:00
sixel: refactor: shorten very verbose switch case statements
This commit is contained in:
parent
3555e81fee
commit
75f9bed6b6
1 changed files with 14 additions and 53 deletions
67
sixel.c
67
sixel.c
|
|
@ -1416,6 +1416,8 @@ sixel_add_many_ar_11(struct terminal *term, uint8_t c, unsigned count)
|
||||||
term->sixel.pos.col = col;
|
term->sixel.pos.col = col;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IGNORE_WARNING("-Wpedantic")
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decsixel_generic(struct terminal *term, uint8_t c)
|
decsixel_generic(struct terminal *term, uint8_t c)
|
||||||
{
|
{
|
||||||
|
|
@ -1463,16 +1465,7 @@ decsixel_generic(struct terminal *term, uint8_t c)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E':
|
case '?' ... '~':
|
||||||
case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
|
|
||||||
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S':
|
|
||||||
case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
|
|
||||||
case '[': case '\\': case ']': case '^': case '_': case '`': case 'a':
|
|
||||||
case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
|
|
||||||
case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o':
|
|
||||||
case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v':
|
|
||||||
case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}':
|
|
||||||
case '~':
|
|
||||||
sixel_add_many_generic(term, c - 63, 1);
|
sixel_add_many_generic(term, c - 63, 1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -1487,27 +1480,15 @@ decsixel_generic(struct terminal *term, uint8_t c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UNIGNORE_WARNINGS
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decsixel_ar_11(struct terminal *term, uint8_t c)
|
decsixel_ar_11(struct terminal *term, uint8_t c)
|
||||||
{
|
{
|
||||||
switch (c) {
|
if (likely(c >= '?' && c <= '~'))
|
||||||
case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E':
|
|
||||||
case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
|
|
||||||
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S':
|
|
||||||
case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
|
|
||||||
case '[': case '\\': case ']': case '^': case '_': case '`': case 'a':
|
|
||||||
case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
|
|
||||||
case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o':
|
|
||||||
case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v':
|
|
||||||
case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}':
|
|
||||||
case '~':
|
|
||||||
sixel_add_many_ar_11(term, c - 63, 1);
|
sixel_add_many_ar_11(term, c - 63, 1);
|
||||||
break;
|
else
|
||||||
|
|
||||||
default:
|
|
||||||
decsixel_generic(term, c);
|
decsixel_generic(term, c);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
@ -1571,6 +1552,8 @@ decgra(struct terminal *term, uint8_t c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IGNORE_WARNING("-Wpedantic")
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decgri_generic(struct terminal *term, uint8_t c)
|
decgri_generic(struct terminal *term, uint8_t c)
|
||||||
{
|
{
|
||||||
|
|
@ -1584,16 +1567,7 @@ decgri_generic(struct terminal *term, uint8_t c)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E':
|
case '?' ... '~': {
|
||||||
case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
|
|
||||||
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S':
|
|
||||||
case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
|
|
||||||
case '[': case '\\': case ']': case '^': case '_': case '`': case 'a':
|
|
||||||
case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
|
|
||||||
case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o':
|
|
||||||
case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v':
|
|
||||||
case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}':
|
|
||||||
case '~': {
|
|
||||||
const unsigned count = term->sixel.repeat_count;
|
const unsigned count = term->sixel.repeat_count;
|
||||||
sixel_add_many_generic(term, c - 63, count);
|
sixel_add_many_generic(term, c - 63, count);
|
||||||
term->sixel.state = SIXEL_DECSIXEL;
|
term->sixel.state = SIXEL_DECSIXEL;
|
||||||
|
|
@ -1607,30 +1581,17 @@ decgri_generic(struct terminal *term, uint8_t c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UNIGNORE_WARNINGS
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decgri_ar_11(struct terminal *term, uint8_t c)
|
decgri_ar_11(struct terminal *term, uint8_t c)
|
||||||
{
|
{
|
||||||
switch (c) {
|
if (likely(c >= '?' && c <= '~')) {
|
||||||
case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E':
|
|
||||||
case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
|
|
||||||
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S':
|
|
||||||
case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
|
|
||||||
case '[': case '\\': case ']': case '^': case '_': case '`': case 'a':
|
|
||||||
case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h':
|
|
||||||
case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o':
|
|
||||||
case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v':
|
|
||||||
case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}':
|
|
||||||
case '~': {
|
|
||||||
const unsigned count = term->sixel.repeat_count;
|
const unsigned count = term->sixel.repeat_count;
|
||||||
sixel_add_many_ar_11(term, c - 63, count);
|
sixel_add_many_ar_11(term, c - 63, count);
|
||||||
term->sixel.state = SIXEL_DECSIXEL;
|
term->sixel.state = SIXEL_DECSIXEL;
|
||||||
break;
|
} else
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
decgri_generic(term, c);
|
decgri_generic(term, c);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue