#include #include "f2c.h" #define PAUSESIG 15 #include "signal1.h" #undef abs #undef min #undef max #include extern int getpid (void), isatty (int), pause (void); extern void f_exit (void); static void waitpause (Sigarg) { Use_Sigarg; return; } static void s_1paus (FILE * fin) { 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 s_paus (char *s, ftnlen n) { 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 { #if (defined (MSDOS) && !defined (GO32)) || defined (_WIN32) 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 */ }