vt: use 8-bit indices for parameters and sub parameters

We only support 16 (sub) parameters and thus there's no need for
64-bit index variables.
This commit is contained in:
Daniel Eklöf 2020-02-01 19:24:46 +01:00
parent 26d39fe96e
commit f13adf50dc
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 7 additions and 7 deletions

6
csi.c
View file

@ -42,11 +42,11 @@ csi_as_string(struct terminal *term, uint8_t final)
} }
for (size_t i = 0; i < term->vt.params.idx; i++){ for (size_t i = 0; i < term->vt.params.idx; i++){
c += snprintf(&msg[c], sizeof(msg) - c, "%d", c += snprintf(&msg[c], sizeof(msg) - c, "%u",
term->vt.params.v[i].value); term->vt.params.v[i].value);
for (size_t j = 0; j < term->vt.params.v[i].sub.idx; j++) { for (size_t j = 0; j < term->vt.params.v[i].sub.idx; j++) {
c += snprintf(&msg[c], sizeof(msg) - c, ":%d", c += snprintf(&msg[c], sizeof(msg) - c, ":%u",
term->vt.params.v[i].sub.value[j]); term->vt.params.v[i].sub.value[j]);
} }
@ -54,7 +54,7 @@ csi_as_string(struct terminal *term, uint8_t final)
i == term->vt.params.idx - 1 ? "" : ";"); i == term->vt.params.idx - 1 ? "" : ";");
} }
snprintf(&msg[c], sizeof(msg) - c, "%c (%zu parameters)", snprintf(&msg[c], sizeof(msg) - c, "%c (%hhu parameters)",
final, term->vt.params.idx); final, term->vt.params.idx);
return msg; return msg;
} }

View file

@ -100,7 +100,7 @@ struct grid {
struct vt_subparams { struct vt_subparams {
unsigned value[16]; unsigned value[16];
size_t idx; uint8_t idx;
}; };
struct vt_param { struct vt_param {
@ -113,7 +113,7 @@ struct vt {
wchar_t last_printed; wchar_t last_printed;
struct { struct {
struct vt_param v[16]; struct vt_param v[16];
size_t idx; uint8_t idx;
} params; } params;
char private[2]; char private[2];
struct { struct {
@ -123,8 +123,8 @@ struct vt {
} osc; } osc;
struct { struct {
uint8_t data[4]; uint8_t data[4];
size_t idx; uint8_t idx;
size_t left; uint8_t left;
} utf8; } utf8;
struct { struct {
uint8_t *data; uint8_t *data;