diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 2 | ||||
-rw-r--r-- | shell/cmdedit.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c index 6d1dc603c..6c6c28693 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -6062,7 +6062,7 @@ retry: | |||
6062 | } | 6062 | } |
6063 | goto retry; | 6063 | goto retry; |
6064 | } | 6064 | } |
6065 | if(nr < 0) { | 6065 | if(nr < 0 && errno == 0) { |
6066 | /* Ctrl+D presend */ | 6066 | /* Ctrl+D presend */ |
6067 | nr = 0; | 6067 | nr = 0; |
6068 | } | 6068 | } |
diff --git a/shell/cmdedit.c b/shell/cmdedit.c index 25d31a0e0..56b789ab6 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c | |||
@@ -1297,6 +1297,7 @@ int cmdedit_read_input(char *prompt, char command[BUFSIZ]) | |||
1297 | /* Control-d -- Delete one character, or exit | 1297 | /* Control-d -- Delete one character, or exit |
1298 | * if the len=0 and no chars to delete */ | 1298 | * if the len=0 and no chars to delete */ |
1299 | if (len == 0) { | 1299 | if (len == 0) { |
1300 | errno = 0; | ||
1300 | prepare_to_die: | 1301 | prepare_to_die: |
1301 | #if !defined(CONFIG_ASH) | 1302 | #if !defined(CONFIG_ASH) |
1302 | printf("exit"); | 1303 | printf("exit"); |