version 1.10, 1997/07/22 18:26:24 |
version 1.11, 1997/07/22 18:54:36 |
|
|
longline = 0; |
longline = 0; |
|
|
if (!sigsetjmp(colljmp, 1)) { |
if (!sigsetjmp(colljmp, 1)) { |
if (getsub && grabh(hp, GSUBJECT) == SIGINT) { |
if (getsub) |
fflush(stdout); |
gethfromtty(hp, GSUBJECT); |
fputs("\n(Interrupt -- one more to kill letter)\n", |
|
stderr); |
|
if (grabh(hp, GSUBJECT) == SIGINT) { |
|
hadintr++; |
|
collint(SIGINT); |
|
exit(1); |
|
} |
|
} |
|
} else { |
} else { |
/* |
/* |
* Come here for printing the after-signal message. |
* Come here for printing the after-signal message. |
|
|
goto cont; |
goto cont; |
} |
} |
} |
} |
|
|
|
if (value("interactive") != NULL) { |
|
if (value("askcc") != NULL || value("askbcc") != NULL) { |
|
if (value("askcc") != NULL) |
|
gethfromtty(hp, GCC); |
|
if (value("askbcc") != NULL) |
|
gethfromtty(hp, GBCC); |
|
} else { |
|
puts("EOT"); |
|
(void)fflush(stdout); |
|
} |
|
} |
goto out; |
goto out; |
err: |
err: |
if (collf != NULL) { |
if (collf != NULL) { |
|
|
{ |
{ |
register FILE *of; |
register FILE *of; |
register int c; |
register int c; |
long cc; |
ssize_t cc, lc; |
int lc; |
|
struct stat junk; |
struct stat junk; |
|
|
if (f) { |
if (f) { |
|
|
} |
} |
} |
} |
(void)Fclose(of); |
(void)Fclose(of); |
printf("%d/%ld\n", lc, cc); |
printf("%d/%d\n", lc, cc); |
fflush(stdout); |
fflush(stdout); |
return(0); |
return(0); |
} |
} |
|
|
(void)putc(c, dbuf); |
(void)putc(c, dbuf); |
(void)Fclose(dbuf); |
(void)Fclose(dbuf); |
rewind(fp); |
rewind(fp); |
|
} |
|
|
|
void |
|
gethfromtty(hp, gflags) |
|
struct header *hp; |
|
int gflags; |
|
{ |
|
if (grabh(hp, gflags) == SIGINT) { |
|
fflush(stdout); |
|
fputs("\n(Interrupt -- one more to kill letter)\n", |
|
stderr); |
|
if (grabh(hp, gflags) == SIGINT) { |
|
hadintr++; |
|
collint(SIGINT); |
|
exit(1); |
|
} |
|
} |
} |
} |