From 11bcf4b22449d08b61617183c1951db98457653a Mon Sep 17 00:00:00 2001 From: Tomas Heinrich Date: Tue, 1 Jun 2010 08:33:18 +0200 Subject: lineedit: fix column display for wide and combining chars in TAB completion function old new delta unicode_strwidth - 20 +20 read_line_input 4945 4953 +8 unicode_strlen 31 - -31 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 1/0 up/down: 28/-31) Total: -3 bytes Signed-off-by: Tomas Heinrich Signed-off-by: Denys Vlasenko --- include/unicode.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include/unicode.h') diff --git a/include/unicode.h b/include/unicode.h index eaf67c833..e9e2bd14a 100644 --- a/include/unicode.h +++ b/include/unicode.h @@ -23,7 +23,8 @@ enum { #if !ENABLE_UNICODE_SUPPORT -# define unicode_strlen(string) strlen(string) +# define unicode_strlen(string) strlen(string) +# define unicode_strwidth(string) strlen(string) # define unicode_status UNICODE_OFF # define init_unicode() ((void)0) @@ -49,7 +50,10 @@ enum { # define ENABLE_UNICODE_BIDI_SUPPORT 0 # endif +/* Number of unicode chars. Falls back to strlen() on invalid unicode */ size_t FAST_FUNC unicode_strlen(const char *string); +/* Width on terminal */ +size_t FAST_FUNC unicode_strwidth(const char *string); enum { UNI_FLAG_PAD = (1 << 0), }; -- cgit v1.2.3