diff options
author | Ron Yorston <rmy@pobox.com> | 2019-02-02 15:57:59 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2019-02-02 16:21:12 +0000 |
commit | 93a63809f9146e39a1c36bdccdfb8ef3b7046c98 (patch) | |
tree | 41adedb1f386dce9c163ff1bc634a725e8e1c8b8 /shell | |
parent | 0e26e2ff3b87f8db635d3c7dca23f441a3961fd2 (diff) | |
download | busybox-w32-93a63809f9146e39a1c36bdccdfb8ef3b7046c98.tar.gz busybox-w32-93a63809f9146e39a1c36bdccdfb8ef3b7046c98.tar.bz2 busybox-w32-93a63809f9146e39a1c36bdccdfb8ef3b7046c98.zip |
win32: add support for the euro currency symbol
The euro currency symbol was added to some OEM code pages. See:
https://www.aivosto.com/articles/charsets-codepages-dos.html
Add a configuration option (enabled by default) to support this.
When enabled:
- The read_key() function requests wide character key events. This
allows the euro symbol to be entered regardless of the console OEM
code page, though it needs to be available in the ANSI code page.
- Conversions between OEM and ANSI code pages in winansi.c are
modified to work around a bug in the Microsoft routines.
- If the OEM code page is 850 when BusyBox starts it's changed to
858. This is the only currently supported OEM code page.
Also, the shell read builtin is modified to use read_key() whenever
input is being taken from the console.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/shell_common.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/shell/shell_common.c b/shell/shell_common.c index 23e5f1c25..e7c07e6a9 100644 --- a/shell/shell_common.c +++ b/shell/shell_common.c | |||
@@ -235,8 +235,7 @@ shell_builtin_read(struct builtin_read_params *params) | |||
235 | } | 235 | } |
236 | #else | 236 | #else |
237 | errno = 0; | 237 | errno = 0; |
238 | if (isatty(fd) && (params->opt_n || params->opt_d || params->opt_t || | 238 | if (isatty(fd)) { |
239 | (read_flags & BUILTIN_READ_SILENT))) { | ||
240 | int64_t key; | 239 | int64_t key; |
241 | 240 | ||
242 | key = read_key(fd, NULL, timeout); | 241 | key = read_key(fd, NULL, timeout); |