From f13adf50dcbbf94da32c271fe38253113ba61d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 1 Feb 2020 19:24:46 +0100 Subject: [PATCH] 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. --- csi.c | 6 +++--- terminal.h | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/csi.c b/csi.c index e4b1b4a5..b9480c6b 100644 --- a/csi.c +++ b/csi.c @@ -42,11 +42,11 @@ csi_as_string(struct terminal *term, uint8_t final) } 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); 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]); } @@ -54,7 +54,7 @@ csi_as_string(struct terminal *term, uint8_t final) 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); return msg; } diff --git a/terminal.h b/terminal.h index 3bc8bd22..b9db2bfe 100644 --- a/terminal.h +++ b/terminal.h @@ -100,7 +100,7 @@ struct grid { struct vt_subparams { unsigned value[16]; - size_t idx; + uint8_t idx; }; struct vt_param { @@ -113,7 +113,7 @@ struct vt { wchar_t last_printed; struct { struct vt_param v[16]; - size_t idx; + uint8_t idx; } params; char private[2]; struct { @@ -123,8 +123,8 @@ struct vt { } osc; struct { uint8_t data[4]; - size_t idx; - size_t left; + uint8_t idx; + uint8_t left; } utf8; struct { uint8_t *data;