aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2004-01-22 12:42:23 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2004-01-22 12:42:23 +0000
commit475820c9de166bd8bcb7b3c3acabdba0204a2360 (patch)
tree5e2791c0e05981315023c869de4931cb34c761a9
parent8d441783817d909b7ba3c0148d7deb121e9791c8 (diff)
downloadbusybox-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.c23
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