mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-27 15:09:52 +08:00
407c72cb29
* libF77/*: Fix formatting. * libI77/*: Likewise. * libU77/*: Likewise. From-SVN: r54145
72 lines
1.4 KiB
C
72 lines
1.4 KiB
C
#include <stdio.h>
|
|
#include "f2c.h"
|
|
#define PAUSESIG 15
|
|
|
|
#include "signal1.h"
|
|
#undef abs
|
|
#undef min
|
|
#undef max
|
|
#include <stdlib.h>
|
|
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 */
|
|
}
|