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 /shell | |
| 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
Diffstat (limited to 'shell')
| -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 | ||
