123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #include "stdio.h"
- #include "f2c.h"
- #define PAUSESIG 15
- #include "signal1.h"
- #ifdef KR_headers
- #define Void /* void */
- #define Int /* int */
- #else
- #define Void void
- #define Int int
- #undef abs
- #undef min
- #undef max
- #include "stdlib.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern int getpid(void), isatty(int), pause(void);
- #endif
- extern VOID f_exit(Void);
- #ifndef MSDOS
- static VOID
- waitpause(Sigarg)
- { Use_Sigarg;
- return;
- }
- #endif
- static VOID
- #ifdef KR_headers
- s_1paus(fin) FILE *fin;
- #else
- s_1paus(FILE *fin)
- #endif
- {
- fprintf(stderr,
- "To resume execution, type go. Other input will terminate the job.\n");
- fflush(stderr);
- if( getc(fin)!='g' || getc(fin)!='o' || getc(fin)!='\n' ) {
- fprintf(stderr, "STOP\n");
- #ifdef NO_ONEXIT
- f_exit();
- #endif
- exit(0);
- }
- }
- int
- #ifdef KR_headers
- s_paus(s, n) char *s; ftnlen n;
- #else
- s_paus(char *s, ftnlen n)
- #endif
- {
- fprintf(stderr, "PAUSE ");
- if(n > 0)
- fprintf(stderr, " %.*s", (int)n, s);
- fprintf(stderr, " statement executed\n");
- if( isatty(fileno(stdin)) )
- s_1paus(stdin);
- else {
- #ifdef MSDOS
- FILE *fin;
- fin = fopen("con", "r");
- if (!fin) {
- fprintf(stderr, "s_paus: can't open con!\n");
- fflush(stderr);
- exit(1);
- }
- s_1paus(fin);
- fclose(fin);
- #else
- fprintf(stderr,
- "To resume execution, execute a kill -%d %d command\n",
- PAUSESIG, getpid() );
- signal1(PAUSESIG, waitpause);
- fflush(stderr);
- pause();
- #endif
- }
- fprintf(stderr, "Execution resumes after PAUSE.\n");
- fflush(stderr);
- return 0; /* NOT REACHED */
- #ifdef __cplusplus
- }
- #endif
- }
- #ifdef __cplusplus
- }
- #endif
|