diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-06-07 09:42:39 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2011-07-02 10:09:13 +0200 |
commit | e85501e5ef0d990539090f4d12dbb3eae487c971 (patch) | |
tree | f3acd91b9e7d076150e6efd3e181fb6ca0b38838 /src | |
parent | c8029a5a1356ee7e684dc6dfe4001bcc739bc2a6 (diff) | |
download | calcurse-e85501e5ef0d990539090f4d12dbb3eae487c971.tar.gz calcurse-e85501e5ef0d990539090f4d12dbb3eae487c971.zip |
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 <calcurse@cryptocrack.de>
Diffstat (limited to 'src')
-rw-r--r-- | src/calcurse.h | 1 | ||||
-rw-r--r-- | src/day.c | 2 | ||||
-rw-r--r-- | src/getstring.c | 5 | ||||
-rw-r--r-- | src/todo.c | 2 |
4 files changed, 6 insertions, 4 deletions
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 : \ @@ -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) { @@ -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; |