|
|
1.1 root 1: #include "stdio.h"
2: #include "f2c.h"
3: #define PAUSESIG 15
4:
5: #ifdef KR_headers
6: #define Void /* void */
7: #define Int /* int */
8: #else
9: #define Void void
10: #define Int int
11: #undef abs
12: #include "stdlib.h"
13: #include "signal.h"
14: #ifdef __cplusplus
15: extern "C" {
16: #endif
17: extern int getpid(void), isatty(int), pause(void);
18: #endif
19:
20: extern VOID f_exit(Void);
21:
22: static VOID waitpause(Int n)
23: {
24: return;
25: }
26:
27: #ifdef KR_headers
28: int s_paus(s, n) char *s; ftnlen n;
29: #else
30: int s_paus(char *s, ftnlen n)
31: #endif
32: {
33: int i;
34:
35: fprintf(stderr, "PAUSE ");
36: if(n > 0)
37: for(i = 0; i<n ; ++i)
38: putc(*s++, stderr);
39: fprintf(stderr, " statement executed\n");
40: if( isatty(fileno(stdin)) )
41: {
42: fprintf(stderr, "To resume execution, type go. Any other input will terminate job.\n");
43: fflush(stderr);
44: if( getchar()!='g' || getchar()!='o' || getchar()!='\n' )
45: {
46: fprintf(stderr, "STOP\n");
47: f_exit();
48: exit(0);
49: }
50: }
51: else
52: {
53: fprintf(stderr, "To resume execution, execute a kill -%d %d command\n",
54: PAUSESIG, getpid() );
55: signal(PAUSESIG, waitpause);
56: fflush(stderr);
57: pause();
58: }
59: fprintf(stderr, "Execution resumes after PAUSE.\n");
60: #ifdef __cplusplus
61: return 0; /* NOT REACHED */
62: }
63: #endif
64: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.