aboutsummaryrefslogtreecommitdiffstats
path: root/input.c
diff options
context:
space:
mode:
authorJari Aalto <jari.aalto@cante.net>2006-10-10 14:15:34 +0000
committerJari Aalto <jari.aalto@cante.net>2009-09-12 16:46:58 +0000
commit0628567a28f3510f506ae46cb9b24b73a6d2dc5d (patch)
treeda84934c41272cdc655694846c15c1c5db807445 /input.c
parent95732b497d12c98613bb3c5db16b61f377501a59 (diff)
downloadandroid_external_bash-0628567a28f3510f506ae46cb9b24b73a6d2dc5d.tar.gz
android_external_bash-0628567a28f3510f506ae46cb9b24b73a6d2dc5d.tar.bz2
android_external_bash-0628567a28f3510f506ae46cb9b24b73a6d2dc5d.zip
Imported from ../bash-3.2.tar.gz.
Diffstat (limited to 'input.c')
-rw-r--r--input.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/input.c b/input.c
index 314a1f5..7933da2 100644
--- a/input.c
+++ b/input.c
@@ -41,11 +41,14 @@
#include "input.h"
#include "error.h"
#include "externs.h"
+#include "quit.h"
#if !defined (errno)
extern int errno;
#endif /* !errno */
+extern void termsig_handler __P((int));
+
/* Functions to handle reading input on systems that don't restart read(2)
if a signal is received. */
@@ -61,11 +64,14 @@ getc_with_restart (stream)
{
unsigned char uc;
+ CHECK_TERMSIG;
+
/* Try local buffering to reduce the number of read(2) calls. */
if (local_index == local_bufused || local_bufused == 0)
{
while (1)
{
+ CHECK_TERMSIG;
local_bufused = read (fileno (stream), localbuf, sizeof(localbuf));
if (local_bufused > 0)
break;
@@ -446,6 +452,7 @@ b_fill_buffer (bp)
{
ssize_t nr;
+ CHECK_TERMSIG;
nr = zread (bp->b_fd, bp->b_buffer, bp->b_size);
if (nr <= 0)
{
@@ -513,6 +520,8 @@ sync_buffered_stream (bfd)
int
buffered_getchar ()
{
+ CHECK_TERMSIG;
+
#if !defined (DJGPP)
return (bufstream_getc (buffers[bash_input.location.buffered_fd]));
#else