aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.in9
-rw-r--r--configs/mingw32_defconfig12
-rw-r--r--configs/mingw64_defconfig12
-rw-r--r--win32/termios.c8
4 files changed, 29 insertions, 12 deletions
diff --git a/Config.in b/Config.in
index 917712c0c..a8a08a342 100644
--- a/Config.in
+++ b/Config.in
@@ -473,6 +473,15 @@ config FEATURE_EURO
473 requires the OEM code page to be 858. If the OEM code page of 473 requires the OEM code page to be 858. If the OEM code page of
474 the console is 850 when BusyBox starts it's changed to 858. 474 the console is 850 when BusyBox starts it's changed to 858.
475 475
476config FEATURE_EURO_INPUT
477 bool "Allow euro on input, even in code pages without euro support"
478 default n
479 depends on PLATFORM_MINGW32 && FEATURE_EURO
480 help
481 Allow the euro character to be entered in the console even if the
482 current code page doesn't support it. It isn't necessary to
483 enable this setting if the code page in use has euro support.
484
476config TERMINAL_MODE 485config TERMINAL_MODE
477 int "Default setting for terminal mode" 486 int "Default setting for terminal mode"
478 default 5 487 default 5
diff --git a/configs/mingw32_defconfig b/configs/mingw32_defconfig
index 492cf34c8..a6272d97f 100644
--- a/configs/mingw32_defconfig
+++ b/configs/mingw32_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.37.0.git 3# Busybox version: 1.37.0.git
4# Sun Mar 19 09:51:34 2023 4# Thu Jun 22 16:55:35 2023
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7# CONFIG_PLATFORM_POSIX is not set 7# CONFIG_PLATFORM_POSIX is not set
@@ -19,6 +19,7 @@ CONFIG_SHOW_USAGE=y
19CONFIG_FEATURE_VERBOSE_USAGE=y 19CONFIG_FEATURE_VERBOSE_USAGE=y
20CONFIG_FEATURE_COMPRESS_USAGE=y 20CONFIG_FEATURE_COMPRESS_USAGE=y
21CONFIG_LFS=y 21CONFIG_LFS=y
22CONFIG_TIME64=y
22# CONFIG_PAM is not set 23# CONFIG_PAM is not set
23# CONFIG_FEATURE_DEVPTS is not set 24# CONFIG_FEATURE_DEVPTS is not set
24# CONFIG_FEATURE_UTMP is not set 25# CONFIG_FEATURE_UTMP is not set
@@ -47,11 +48,13 @@ CONFIG_FEATURE_PRNG_SHELL=y
47# CONFIG_FEATURE_PRNG_ISAAC is not set 48# CONFIG_FEATURE_PRNG_ISAAC is not set
48CONFIG_FEATURE_RESOURCES=y 49CONFIG_FEATURE_RESOURCES=y
49CONFIG_FEATURE_VERSIONINFO=y 50CONFIG_FEATURE_VERSIONINFO=y
51# CONFIG_FEATURE_UTF8_MANIFEST is not set
50CONFIG_FEATURE_ICON=y 52CONFIG_FEATURE_ICON=y
51# CONFIG_FEATURE_ICON_ATERM is not set 53# CONFIG_FEATURE_ICON_ATERM is not set
52# CONFIG_FEATURE_ICON_STERM is not set 54# CONFIG_FEATURE_ICON_STERM is not set
53CONFIG_FEATURE_ICON_ALL=y 55CONFIG_FEATURE_ICON_ALL=y
54CONFIG_FEATURE_EURO=y 56CONFIG_FEATURE_EURO=y
57# CONFIG_FEATURE_EURO_INPUT is not set
55CONFIG_TERMINAL_MODE=5 58CONFIG_TERMINAL_MODE=5
56CONFIG_FEATURE_IMPROVED_COLOUR_MAPPING=y 59CONFIG_FEATURE_IMPROVED_COLOUR_MAPPING=y
57CONFIG_FEATURE_EXTRA_FILE_DATA=y 60CONFIG_FEATURE_EXTRA_FILE_DATA=y
@@ -485,6 +488,7 @@ CONFIG_FEATURE_FIND_INUM=y
485CONFIG_FEATURE_FIND_SAMEFILE=y 488CONFIG_FEATURE_FIND_SAMEFILE=y
486CONFIG_FEATURE_FIND_EXEC=y 489CONFIG_FEATURE_FIND_EXEC=y
487CONFIG_FEATURE_FIND_EXEC_PLUS=y 490CONFIG_FEATURE_FIND_EXEC_PLUS=y
491CONFIG_FEATURE_FIND_EXEC_OK=y
488# CONFIG_FEATURE_FIND_USER is not set 492# CONFIG_FEATURE_FIND_USER is not set
489# CONFIG_FEATURE_FIND_GROUP is not set 493# CONFIG_FEATURE_FIND_GROUP is not set
490CONFIG_FEATURE_FIND_NOT=y 494CONFIG_FEATURE_FIND_NOT=y
@@ -707,9 +711,6 @@ CONFIG_XXD=y
707# CONFIG_RENICE is not set 711# CONFIG_RENICE is not set
708CONFIG_REV=y 712CONFIG_REV=y
709# CONFIG_RTCWAKE is not set 713# CONFIG_RTCWAKE is not set
710CONFIG_DROP=y
711CONFIG_CDROP=y
712CONFIG_PDROP=y
713# CONFIG_SCRIPT is not set 714# CONFIG_SCRIPT is not set
714# CONFIG_SCRIPTREPLAY is not set 715# CONFIG_SCRIPTREPLAY is not set
715# CONFIG_SETARCH is not set 716# CONFIG_SETARCH is not set
@@ -802,6 +803,9 @@ CONFIG_FEATURE_CROND_DIR=""
802# CONFIG_DEVFSD_VERBOSE is not set 803# CONFIG_DEVFSD_VERBOSE is not set
803# CONFIG_FEATURE_DEVFS is not set 804# CONFIG_FEATURE_DEVFS is not set
804# CONFIG_DEVMEM is not set 805# CONFIG_DEVMEM is not set
806CONFIG_DROP=y
807CONFIG_CDROP=y
808CONFIG_PDROP=y
805# CONFIG_FBSPLASH is not set 809# CONFIG_FBSPLASH is not set
806# CONFIG_FLASH_ERASEALL is not set 810# CONFIG_FLASH_ERASEALL is not set
807# CONFIG_FLASH_LOCK is not set 811# CONFIG_FLASH_LOCK is not set
diff --git a/configs/mingw64_defconfig b/configs/mingw64_defconfig
index ee793033c..6ccb7b8f0 100644
--- a/configs/mingw64_defconfig
+++ b/configs/mingw64_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Busybox version: 1.37.0.git 3# Busybox version: 1.37.0.git
4# Sun Mar 19 09:51:34 2023 4# Thu Jun 22 16:55:35 2023
5# 5#
6CONFIG_HAVE_DOT_CONFIG=y 6CONFIG_HAVE_DOT_CONFIG=y
7# CONFIG_PLATFORM_POSIX is not set 7# CONFIG_PLATFORM_POSIX is not set
@@ -19,6 +19,7 @@ CONFIG_SHOW_USAGE=y
19CONFIG_FEATURE_VERBOSE_USAGE=y 19CONFIG_FEATURE_VERBOSE_USAGE=y
20CONFIG_FEATURE_COMPRESS_USAGE=y 20CONFIG_FEATURE_COMPRESS_USAGE=y
21CONFIG_LFS=y 21CONFIG_LFS=y
22CONFIG_TIME64=y
22# CONFIG_PAM is not set 23# CONFIG_PAM is not set
23# CONFIG_FEATURE_DEVPTS is not set 24# CONFIG_FEATURE_DEVPTS is not set
24# CONFIG_FEATURE_UTMP is not set 25# CONFIG_FEATURE_UTMP is not set
@@ -47,11 +48,13 @@ CONFIG_FEATURE_PRNG_SHELL=y
47# CONFIG_FEATURE_PRNG_ISAAC is not set 48# CONFIG_FEATURE_PRNG_ISAAC is not set
48CONFIG_FEATURE_RESOURCES=y 49CONFIG_FEATURE_RESOURCES=y
49CONFIG_FEATURE_VERSIONINFO=y 50CONFIG_FEATURE_VERSIONINFO=y
51# CONFIG_FEATURE_UTF8_MANIFEST is not set
50CONFIG_FEATURE_ICON=y 52CONFIG_FEATURE_ICON=y
51# CONFIG_FEATURE_ICON_ATERM is not set 53# CONFIG_FEATURE_ICON_ATERM is not set
52# CONFIG_FEATURE_ICON_STERM is not set 54# CONFIG_FEATURE_ICON_STERM is not set
53CONFIG_FEATURE_ICON_ALL=y 55CONFIG_FEATURE_ICON_ALL=y
54CONFIG_FEATURE_EURO=y 56CONFIG_FEATURE_EURO=y
57# CONFIG_FEATURE_EURO_INPUT is not set
55CONFIG_TERMINAL_MODE=5 58CONFIG_TERMINAL_MODE=5
56CONFIG_FEATURE_IMPROVED_COLOUR_MAPPING=y 59CONFIG_FEATURE_IMPROVED_COLOUR_MAPPING=y
57CONFIG_FEATURE_EXTRA_FILE_DATA=y 60CONFIG_FEATURE_EXTRA_FILE_DATA=y
@@ -485,6 +488,7 @@ CONFIG_FEATURE_FIND_INUM=y
485CONFIG_FEATURE_FIND_SAMEFILE=y 488CONFIG_FEATURE_FIND_SAMEFILE=y
486CONFIG_FEATURE_FIND_EXEC=y 489CONFIG_FEATURE_FIND_EXEC=y
487CONFIG_FEATURE_FIND_EXEC_PLUS=y 490CONFIG_FEATURE_FIND_EXEC_PLUS=y
491CONFIG_FEATURE_FIND_EXEC_OK=y
488# CONFIG_FEATURE_FIND_USER is not set 492# CONFIG_FEATURE_FIND_USER is not set
489# CONFIG_FEATURE_FIND_GROUP is not set 493# CONFIG_FEATURE_FIND_GROUP is not set
490CONFIG_FEATURE_FIND_NOT=y 494CONFIG_FEATURE_FIND_NOT=y
@@ -707,9 +711,6 @@ CONFIG_XXD=y
707# CONFIG_RENICE is not set 711# CONFIG_RENICE is not set
708CONFIG_REV=y 712CONFIG_REV=y
709# CONFIG_RTCWAKE is not set 713# CONFIG_RTCWAKE is not set
710CONFIG_DROP=y
711CONFIG_CDROP=y
712CONFIG_PDROP=y
713# CONFIG_SCRIPT is not set 714# CONFIG_SCRIPT is not set
714# CONFIG_SCRIPTREPLAY is not set 715# CONFIG_SCRIPTREPLAY is not set
715# CONFIG_SETARCH is not set 716# CONFIG_SETARCH is not set
@@ -802,6 +803,9 @@ CONFIG_FEATURE_CROND_DIR=""
802# CONFIG_DEVFSD_VERBOSE is not set 803# CONFIG_DEVFSD_VERBOSE is not set
803# CONFIG_FEATURE_DEVFS is not set 804# CONFIG_FEATURE_DEVFS is not set
804# CONFIG_DEVMEM is not set 805# CONFIG_DEVMEM is not set
806CONFIG_DROP=y
807CONFIG_CDROP=y
808CONFIG_PDROP=y
805# CONFIG_FBSPLASH is not set 809# CONFIG_FBSPLASH is not set
806# CONFIG_FLASH_ERASEALL is not set 810# CONFIG_FLASH_ERASEALL is not set
807# CONFIG_FLASH_LOCK is not set 811# CONFIG_FLASH_LOCK is not set
diff --git a/win32/termios.c b/win32/termios.c
index 9fa97685d..081a41e5b 100644
--- a/win32/termios.c
+++ b/win32/termios.c
@@ -34,7 +34,7 @@ int64_t FAST_FUNC windows_read_key(int fd, char *buf UNUSED_PARAM, int timeout)
34 INPUT_RECORD record; 34 INPUT_RECORD record;
35 DWORD nevent_out, mode; 35 DWORD nevent_out, mode;
36 int ret = -1; 36 int ret = -1;
37#if ENABLE_FEATURE_EURO 37#if ENABLE_FEATURE_EURO_INPUT
38 wchar_t uchar; 38 wchar_t uchar;
39 char achar; 39 char achar;
40#endif 40#endif
@@ -54,7 +54,7 @@ int64_t FAST_FUNC windows_read_key(int fd, char *buf UNUSED_PARAM, int timeout)
54 if (WaitForSingleObject(cin, timeout) != WAIT_OBJECT_0) 54 if (WaitForSingleObject(cin, timeout) != WAIT_OBJECT_0)
55 goto done; 55 goto done;
56 } 56 }
57#if ENABLE_FEATURE_EURO 57#if ENABLE_FEATURE_EURO_INPUT
58 if (!ReadConsoleInputW(cin, &record, 1, &nevent_out)) 58 if (!ReadConsoleInputW(cin, &record, 1, &nevent_out))
59#else 59#else
60 if (!ReadConsoleInput(cin, &record, 1, &nevent_out)) 60 if (!ReadConsoleInput(cin, &record, 1, &nevent_out))
@@ -73,7 +73,7 @@ int64_t FAST_FUNC windows_read_key(int fd, char *buf UNUSED_PARAM, int timeout)
73 } 73 }
74 alt_pressed = state & LEFT_ALT_PRESSED; 74 alt_pressed = state & LEFT_ALT_PRESSED;
75 75
76#if ENABLE_FEATURE_EURO 76#if ENABLE_FEATURE_EURO_INPUT
77 if (!record.Event.KeyEvent.uChar.UnicodeChar) { 77 if (!record.Event.KeyEvent.uChar.UnicodeChar) {
78#else 78#else
79 if (!record.Event.KeyEvent.uChar.AsciiChar) { 79 if (!record.Event.KeyEvent.uChar.AsciiChar) {
@@ -119,7 +119,7 @@ int64_t FAST_FUNC windows_read_key(int fd, char *buf UNUSED_PARAM, int timeout)
119 ret &= ~0x80; 119 ret &= ~0x80;
120 goto done; 120 goto done;
121 } 121 }
122#if ENABLE_FEATURE_EURO 122#if ENABLE_FEATURE_EURO_INPUT
123 uchar = record.Event.KeyEvent.uChar.UnicodeChar; 123 uchar = record.Event.KeyEvent.uChar.UnicodeChar;
124 achar = uchar & 0x7f; 124 achar = uchar & 0x7f;
125 if (achar != uchar) 125 if (achar != uchar)