diff options
Diffstat (limited to 'libbb/lineedit.c')
-rw-r--r-- | libbb/lineedit.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libbb/lineedit.c b/libbb/lineedit.c index e5d0c1b6c..ab3297220 100644 --- a/libbb/lineedit.c +++ b/libbb/lineedit.c | |||
@@ -34,10 +34,7 @@ | |||
34 | * PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] ' | 34 | * PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] ' |
35 | */ | 35 | */ |
36 | #include "libbb.h" | 36 | #include "libbb.h" |
37 | #if ENABLE_FEATURE_ASSUME_UNICODE | 37 | #include "unicode.h" |
38 | # include <wchar.h> | ||
39 | # include <wctype.h> | ||
40 | #endif | ||
41 | 38 | ||
42 | /* FIXME: obsolete CONFIG item? */ | 39 | /* FIXME: obsolete CONFIG item? */ |
43 | #define ENABLE_FEATURE_NONPRINTABLE_INVERSE_PUT 0 | 40 | #define ENABLE_FEATURE_NONPRINTABLE_INVERSE_PUT 0 |
@@ -1581,7 +1578,7 @@ static int lineedit_read_key(char *read_key_buffer) | |||
1581 | return ic; | 1578 | return ic; |
1582 | unicode_buf[unicode_idx++] = ic; | 1579 | unicode_buf[unicode_idx++] = ic; |
1583 | unicode_buf[unicode_idx] = '\0'; | 1580 | unicode_buf[unicode_idx] = '\0'; |
1584 | if (mbstowcs(&wc, unicode_buf, 1) < 1 && unicode_idx < MB_CUR_MAX) { | 1581 | if (mbstowcs(&wc, unicode_buf, 1) != 1 && unicode_idx < MB_CUR_MAX) { |
1585 | delay = 50; | 1582 | delay = 50; |
1586 | goto poll_again; | 1583 | goto poll_again; |
1587 | } | 1584 | } |
@@ -1636,6 +1633,8 @@ int FAST_FUNC read_line_input(const char *prompt, char *command, int maxsize, li | |||
1636 | return len; | 1633 | return len; |
1637 | } | 1634 | } |
1638 | 1635 | ||
1636 | check_unicode_in_env(); | ||
1637 | |||
1639 | // FIXME: audit & improve this | 1638 | // FIXME: audit & improve this |
1640 | if (maxsize > MAX_LINELEN) | 1639 | if (maxsize > MAX_LINELEN) |
1641 | maxsize = MAX_LINELEN; | 1640 | maxsize = MAX_LINELEN; |