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>
This commit is contained in:
parent
c8029a5a13
commit
e85501e5ef
@ -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)
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user