| 18 |
|
#include "otypes.h" |
| 19 |
|
#include "resolu.h" |
| 20 |
|
|
| 21 |
– |
#ifdef getc_unlocked /* avoid horrendous overhead of flockfile */ |
| 22 |
– |
#undef getc |
| 23 |
– |
#define getc getc_unlocked |
| 24 |
– |
#endif |
| 25 |
– |
|
| 21 |
|
static double ogetflt(void); |
| 22 |
|
static long ogetint(int); |
| 23 |
|
static char *ogetstr(char *); |
| 63 |
|
error(SYSTEM, errmsg); |
| 64 |
|
} |
| 65 |
|
} |
| 66 |
+ |
#ifdef getc_unlocked /* avoid stupid semaphores */ |
| 67 |
+ |
flockfile(infp); |
| 68 |
+ |
#endif |
| 69 |
|
SET_FILE_BINARY(infp); |
| 70 |
|
/* get header */ |
| 71 |
|
if (checkheader(infp, OCTFMT, load&IO_INFO ? stdout : (FILE *)NULL) < 0) |
| 121 |
|
/* close the input */ |
| 122 |
|
if (infn[0] == '!') |
| 123 |
|
pclose(infp); |
| 124 |
< |
else |
| 124 |
> |
else if (infp != stdin) |
| 125 |
|
fclose(infp); |
| 126 |
+ |
#ifdef getc_unlocked |
| 127 |
+ |
else |
| 128 |
+ |
funlockfile(infp); |
| 129 |
+ |
#endif |
| 130 |
|
return(nf); |
| 131 |
|
} |
| 132 |
|
|