From e85501e5ef0d990539090f4d12dbb3eae487c971 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Tue, 7 Jun 2011 09:42:39 +0200 Subject: Use constant for maximum UTF-8 character size Introduce a UTF8_MAXLEN constant instead of using the literal value "6" at various places. Signed-off-by: Lukas Fleischer --- src/calcurse.h | 1 + src/day.c | 2 +- src/getstring.c | 5 +++-- src/todo.c | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/calcurse.h b/src/calcurse.h index 8e71a27..315f8e1 100644 --- a/src/calcurse.h +++ b/src/calcurse.h @@ -200,6 +200,7 @@ #define TOSTRING(x) STRINGIFY(x) #define __FILE_POS__ __FILE__ ":" TOSTRING(__LINE__) +#define UTF8_MAXLEN 6 #define UTF8_LENGTH(ch) ((unsigned char)ch >= 0xFC ? 6 : \ ((unsigned char)ch >= 0xF8 ? 5 : \ ((unsigned char)ch >= 0xF0 ? 4 : \ diff --git a/src/day.c b/src/day.c index 2d0737e..7ad0b27 100644 --- a/src/day.c +++ b/src/day.c @@ -352,7 +352,7 @@ display_item (int incolor, char *msg, int recur, int note, int width, int y, { WINDOW *win; int ch_recur, ch_note; - char buf[width * 6]; + char buf[width * UTF8_MAXLEN]; int i; if (width <= 0) diff --git a/src/getstring.c b/src/getstring.c index 9dd7b8a..3b9e865 100644 --- a/src/getstring.c +++ b/src/getstring.c @@ -186,7 +186,7 @@ getstring (WINDOW *win, char *str, int l, int x, int y) struct getstr_charinfo ci[l + 1]; int ch, k; - char c[6]; + char c[UTF8_MAXLEN]; getstr_init (&st, str, ci); custom_apply_attr (win, ATTR_HIGHEST); @@ -255,7 +255,8 @@ getstring (WINDOW *win, char *str, int l, int x, int y) return (GETSTRING_ESC); break; default: /* insert one character */ - for (c[0] = ch, k = 1; k < MIN (UTF8_LENGTH (c[0]), 6); k++) + c[0] = ch; + for (k = 1; k < MIN (UTF8_LENGTH (c[0]), UTF8_MAXLEN); k++) c[k] = (unsigned char)wgetch (win); if (st.ci[st.len].offset + k < l) { diff --git a/src/todo.c b/src/todo.c index 43d5ad5..a6b5687 100644 --- a/src/todo.c +++ b/src/todo.c @@ -374,7 +374,7 @@ display_todo_item (int incolor, char *msg, int prio, int note, int width, int y, { WINDOW *w; int ch_note; - char buf[width * 6], priostr[2]; + char buf[width * UTF8_MAXLEN], priostr[2]; int i; w = win[TOD].p; -- cgit v1.2.3-70-g09d2