version 1.20.2.1, 2002/04/11 23:33:29 |
version 1.21, 2001/06/23 23:04:21 |
|
|
int printheaders; |
int printheaders; |
{ |
{ |
FILE *fbuf; |
FILE *fbuf; |
int lc, cc, escape, eofcount, fd, c, t; |
int lc, cc, fd, c, t, lastlong, rc; |
char linebuf[LINESIZE], tempname[PATHSIZE], *cp, getsub; |
volatile int escape, eofcount, longline; |
|
volatile char getsub; |
|
char linebuf[LINESIZE], tempname[PATHSIZE], *cp; |
sigset_t oset, nset; |
sigset_t oset, nset; |
int longline, lastlong, rc; /* Can deal with lines > LINESIZE */ |
|
|
|
#if __GNUC__ |
|
/* Avoid siglongjmp clobbering */ |
|
(void)&escape; |
|
(void)&eofcount; |
|
(void)&getsub; |
|
(void)&longline; |
|
#endif |
|
|
|
collf = NULL; |
collf = NULL; |
/* |
/* |
* Start catching signals from here, but we're still die on interrupts |
* Start catching signals from here, but we're still die on interrupts |
|
|
value("interactive") != NULL && !lastlong && |
value("interactive") != NULL && !lastlong && |
(value("dot") != NULL || value("ignoreeof") != NULL)) |
(value("dot") != NULL || value("ignoreeof") != NULL)) |
break; |
break; |
if (linebuf[0] != escape || value("interactive") == NULL || |
if (linebuf[0] != escape || lastlong) { |
lastlong) { |
|
if (putline(collf, linebuf, !longline) < 0) |
if (putline(collf, linebuf, !longline) < 0) |
goto err; |
goto err; |
continue; |
continue; |