diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2004-01-22 12:42:23 +0000 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2004-01-22 12:42:23 +0000 |
commit | 475820c9de166bd8bcb7b3c3acabdba0204a2360 (patch) | |
tree | 5e2791c0e05981315023c869de4931cb34c761a9 | |
parent | 8d441783817d909b7ba3c0148d7deb121e9791c8 (diff) | |
download | busybox-w32-475820c9de166bd8bcb7b3c3acabdba0204a2360.tar.gz busybox-w32-475820c9de166bd8bcb7b3c3acabdba0204a2360.tar.bz2 busybox-w32-475820c9de166bd8bcb7b3c3acabdba0204a2360.zip |
last_patch_124 from Vodz, fix an ash bug when alt-1 was pressed, debian
bug #228915
-rw-r--r-- | shell/cmdedit.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/shell/cmdedit.c b/shell/cmdedit.c index ec861df54..f54d5d587 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c | |||
@@ -45,6 +45,7 @@ | |||
45 | 45 | ||
46 | #include "../shell/cmdedit.h" | 46 | #include "../shell/cmdedit.h" |
47 | 47 | ||
48 | |||
48 | #ifdef CONFIG_LOCALE_SUPPORT | 49 | #ifdef CONFIG_LOCALE_SUPPORT |
49 | #define Isprint(c) isprint((c)) | 50 | #define Isprint(c) isprint((c)) |
50 | #else | 51 | #else |
@@ -80,11 +81,7 @@ | |||
80 | #endif | 81 | #endif |
81 | 82 | ||
82 | #ifdef CONFIG_FEATURE_GETUSERNAME_AND_HOMEDIR | 83 | #ifdef CONFIG_FEATURE_GETUSERNAME_AND_HOMEDIR |
83 | # ifndef TEST | 84 | #include "pwd_.h" |
84 | # include "pwd_.h" | ||
85 | # else | ||
86 | # include <pwd.h> | ||
87 | # endif /* TEST */ | ||
88 | #endif /* advanced FEATURES */ | 85 | #endif /* advanced FEATURES */ |
89 | 86 | ||
90 | 87 | ||
@@ -1377,6 +1374,14 @@ prepare_to_die: | |||
1377 | if (safe_read(0, &c, 1) < 1) | 1374 | if (safe_read(0, &c, 1) < 1) |
1378 | goto prepare_to_die; | 1375 | goto prepare_to_die; |
1379 | } | 1376 | } |
1377 | if (c >= '1' && c <= '9') { | ||
1378 | unsigned char dummy; | ||
1379 | |||
1380 | if (safe_read(0, &dummy, 1) < 1) | ||
1381 | goto prepare_to_die; | ||
1382 | if(dummy != '~') | ||
1383 | c = 0; | ||
1384 | } | ||
1380 | switch (c) { | 1385 | switch (c) { |
1381 | #ifdef CONFIG_FEATURE_COMMAND_TAB_COMPLETION | 1386 | #ifdef CONFIG_FEATURE_COMMAND_TAB_COMPLETION |
1382 | case '\t': /* Alt-Tab */ | 1387 | case '\t': /* Alt-Tab */ |
@@ -1429,15 +1434,9 @@ rewrite_line: | |||
1429 | input_end(); | 1434 | input_end(); |
1430 | break; | 1435 | break; |
1431 | default: | 1436 | default: |
1432 | if (!(c >= '1' && c <= '9')) | 1437 | c = 0; |
1433 | c = 0; | ||
1434 | beep(); | 1438 | beep(); |
1435 | } | 1439 | } |
1436 | if (c >= '1' && c <= '9') | ||
1437 | do | ||
1438 | if (safe_read(0, &c, 1) < 1) | ||
1439 | goto prepare_to_die; | ||
1440 | while (c != '~'); | ||
1441 | break; | 1440 | break; |
1442 | } | 1441 | } |
1443 | 1442 | ||