last_patch_124 from Vodz, fix an ash bug when alt-1 was pressed, debian

bug #228915
This commit is contained in:
Glenn L McGrath 2004-01-22 12:42:23 +00:00
parent 8d44178381
commit 475820c9de

View File

@ -45,6 +45,7 @@
#include "../shell/cmdedit.h" #include "../shell/cmdedit.h"
#ifdef CONFIG_LOCALE_SUPPORT #ifdef CONFIG_LOCALE_SUPPORT
#define Isprint(c) isprint((c)) #define Isprint(c) isprint((c))
#else #else
@ -80,11 +81,7 @@
#endif #endif
#ifdef CONFIG_FEATURE_GETUSERNAME_AND_HOMEDIR #ifdef CONFIG_FEATURE_GETUSERNAME_AND_HOMEDIR
# ifndef TEST
#include "pwd_.h" #include "pwd_.h"
# else
# include <pwd.h>
# endif /* TEST */
#endif /* advanced FEATURES */ #endif /* advanced FEATURES */
@ -1377,6 +1374,14 @@ prepare_to_die:
if (safe_read(0, &c, 1) < 1) if (safe_read(0, &c, 1) < 1)
goto prepare_to_die; goto prepare_to_die;
} }
if (c >= '1' && c <= '9') {
unsigned char dummy;
if (safe_read(0, &dummy, 1) < 1)
goto prepare_to_die;
if(dummy != '~')
c = 0;
}
switch (c) { switch (c) {
#ifdef CONFIG_FEATURE_COMMAND_TAB_COMPLETION #ifdef CONFIG_FEATURE_COMMAND_TAB_COMPLETION
case '\t': /* Alt-Tab */ case '\t': /* Alt-Tab */
@ -1429,15 +1434,9 @@ rewrite_line:
input_end(); input_end();
break; break;
default: default:
if (!(c >= '1' && c <= '9'))
c = 0; c = 0;
beep(); beep();
} }
if (c >= '1' && c <= '9')
do
if (safe_read(0, &c, 1) < 1)
goto prepare_to_die;
while (c != '~');
break; break;
} }