| 1 | const char __LIBI77_VERSION__[] = "@(#) LIBI77 VERSION pjw,dmg-mods 20001205\n"; | 
|---|
| 2 |  | 
|---|
| 3 | /* | 
|---|
| 4 | 2.01    $ format added | 
|---|
| 5 | 2.02    Coding bug in open.c repaired | 
|---|
| 6 | 2.03    fixed bugs in lread.c (read * with negative f-format) and lio.c | 
|---|
| 7 | and lio.h (e-format conforming to spec) | 
|---|
| 8 | 2.04    changed open.c and err.c (fopen and freopen respectively) to | 
|---|
| 9 | update to new c-library (append mode) | 
|---|
| 10 | 2.05    added namelist capability | 
|---|
| 11 | 2.06    allow internal list and namelist I/O | 
|---|
| 12 | */ | 
|---|
| 13 |  | 
|---|
| 14 | /* | 
|---|
| 15 | close.c: | 
|---|
| 16 | allow upper-case STATUS= values | 
|---|
| 17 | endfile.c | 
|---|
| 18 | create fort.nnn if unit nnn not open; | 
|---|
| 19 | else if (file length == 0) use creat() rather than copy; | 
|---|
| 20 | use local copy() rather than forking /bin/cp; | 
|---|
| 21 | rewind, fseek to clear buffer (for no reading past EOF) | 
|---|
| 22 | err.c | 
|---|
| 23 | use neither setbuf nor setvbuf; make stderr buffered | 
|---|
| 24 | fio.h | 
|---|
| 25 | #define _bufend | 
|---|
| 26 | inquire.c | 
|---|
| 27 | upper case responses; | 
|---|
| 28 | omit byfile test from SEQUENTIAL= | 
|---|
| 29 | answer "YES" to DIRECT= for unopened file (open to debate) | 
|---|
| 30 | lio.c | 
|---|
| 31 | flush stderr, stdout at end of each stmt | 
|---|
| 32 | space before character strings in list output only at line start | 
|---|
| 33 | lio.h | 
|---|
| 34 | adjust LEW, LED consistent with old libI77 | 
|---|
| 35 | lread.c | 
|---|
| 36 | use atof() | 
|---|
| 37 | allow "nnn*," when reading complex constants | 
|---|
| 38 | open.c | 
|---|
| 39 | try opening for writing when open for read fails, with | 
|---|
| 40 | special uwrt value (2) delaying creat() to first write; | 
|---|
| 41 | set curunit so error messages don't drop core; | 
|---|
| 42 | no file name ==> fort.nnn except for STATUS='SCRATCH' | 
|---|
| 43 | rdfmt.c | 
|---|
| 44 | use atof(); trust EOF == end-of-file (so don't read past | 
|---|
| 45 | end-of-file after endfile stmt) | 
|---|
| 46 | sfe.c | 
|---|
| 47 | flush stderr, stdout at end of each stmt | 
|---|
| 48 | wrtfmt.c: | 
|---|
| 49 | use upper case | 
|---|
| 50 | put wrt_E and wrt_F into wref.c, use sprintf() | 
|---|
| 51 | rather than ecvt() and fcvt() [more accurate on VAX] | 
|---|
| 52 | */ | 
|---|
| 53 |  | 
|---|
| 54 | /* 16 Oct. 1988: uwrt = 3 after write, rewind, so close won't zap the file. */ | 
|---|
| 55 |  | 
|---|
| 56 | /* 10 July 1989: change _bufend to buf_end in fio.h, wsfe.c, wrtfmt.c */ | 
|---|
| 57 |  | 
|---|
| 58 | /* 28 Nov. 1989: corrections for IEEE and Cray arithmetic */ | 
|---|
| 59 | /* 29 Nov. 1989: change various int return types to long for f2c */ | 
|---|
| 60 | /* 30 Nov. 1989: various types from f2c.h */ | 
|---|
| 61 | /*  6 Dec. 1989: types corrected various places */ | 
|---|
| 62 | /* 19 Dec. 1989: make iostat= work right for internal I/O */ | 
|---|
| 63 | /*  8 Jan. 1990: add rsne, wsne -- routines for handling NAMELIST */ | 
|---|
| 64 | /* 28 Jan. 1990: have NAMELIST read treat $ as &, general white | 
|---|
| 65 | space as blank */ | 
|---|
| 66 | /* 27 Mar. 1990: change an = to == in rd_L(rdfmt.c) so formatted reads | 
|---|
| 67 | of logical values reject letters other than fFtT; | 
|---|
| 68 | have nowwriting reset cf */ | 
|---|
| 69 | /* 14 Aug. 1990: adjust lread.c to treat tabs as spaces in list input */ | 
|---|
| 70 | /* 17 Aug. 1990: adjust open.c to recognize blank='Z...' as well as | 
|---|
| 71 | blank='z...' when reopening an open file */ | 
|---|
| 72 | /* 30 Aug. 1990: prevent embedded blanks in list output of complex values; | 
|---|
| 73 | omit exponent field in list output of values of | 
|---|
| 74 | magnitude between 10 and 1e8; prevent writing stdin | 
|---|
| 75 | and reading stdout or stderr; don't close stdin, stdout, | 
|---|
| 76 | or stderr when reopening units 5, 6, 0. */ | 
|---|
| 77 | /* 18 Sep. 1990: add component udev to unit and consider old == new file | 
|---|
| 78 | iff uinode and udev values agree; use stat rather than | 
|---|
| 79 | access to check existence of file (when STATUS='OLD')*/ | 
|---|
| 80 | /* 2 Oct. 1990:  adjust rewind.c so two successive rewinds after a write | 
|---|
| 81 | don't clobber the file. */ | 
|---|
| 82 | /* 9 Oct. 1990:  add #include "fcntl.h" to endfile.c, err.c, open.c; | 
|---|
| 83 | adjust g_char in util.c for segmented memories. */ | 
|---|
| 84 | /* 17 Oct. 1990: replace abort() and _cleanup() with calls on | 
|---|
| 85 | sig_die(...,1) (defined in main.c). */ | 
|---|
| 86 | /* 5 Nov. 1990:  changes to open.c: complain if new= is specified and the | 
|---|
| 87 | file already exists; allow file= to be omitted in open stmts | 
|---|
| 88 | and allow status='replace' (Fortran 90 extensions). */ | 
|---|
| 89 | /* 11 Dec. 1990: adjustments for POSIX. */ | 
|---|
| 90 | /* 15 Jan. 1991: tweak i_ungetc in rsli.c to allow reading from | 
|---|
| 91 | strings in read-only memory. */ | 
|---|
| 92 | /* 25 Apr. 1991: adjust namelist stuff to work with f2c -i2 */ | 
|---|
| 93 | /* 26 Apr. 1991: fix some bugs with NAMELIST read of multi-dim. arrays */ | 
|---|
| 94 | /* 16 May 1991:  increase LEFBL in lio.h to bypass NeXT bug */ | 
|---|
| 95 | /* 17 Oct. 1991: change type of length field in sequential unformatted | 
|---|
| 96 | records from int to long (for systems where sizeof(int) | 
|---|
| 97 | can vary, depending on the compiler or compiler options). */ | 
|---|
| 98 | /* 14 Nov. 1991: change uint to Uint in fmt.h, rdfmt.c, wrtfmt.c. */ | 
|---|
| 99 | /* 25 Nov. 1991: change uint to Uint in lwrite.c; change sizeof(int) to | 
|---|
| 100 | sizeof(uioint) in fseeks in sue.c (missed on 17 Oct.). */ | 
|---|
| 101 | /* 1 Dec. 1991:  uio.c: add test for read failure (seq. unformatted reads); | 
|---|
| 102 | adjust an error return from EOF to off end of record */ | 
|---|
| 103 | /* 12 Dec. 1991: rsli.c: fix bug with internal list input that caused | 
|---|
| 104 | the last character of each record to be ignored. | 
|---|
| 105 | iio.c: adjust error message in internal formatted | 
|---|
| 106 | input from "end-of-file" to "off end of record" if | 
|---|
| 107 | the format specifies more characters than the | 
|---|
| 108 | record contains. */ | 
|---|
| 109 | /* 17 Jan. 1992: lread.c, rsne.c: in list and namelist input, | 
|---|
| 110 | treat "r* ," and "r*," alike (where r is a | 
|---|
| 111 | positive integer constant), and fix a bug in | 
|---|
| 112 | handling null values following items with repeat | 
|---|
| 113 | counts (e.g., 2*1,,3); for namelist reading | 
|---|
| 114 | of a numeric array, allow a new name-value subsequence | 
|---|
| 115 | to terminate the current one (as though the current | 
|---|
| 116 | one ended with the right number of null values). | 
|---|
| 117 | lio.h, lwrite.c: omit insignificant zeros in | 
|---|
| 118 | list and namelist output. To get the old | 
|---|
| 119 | behavior, compile with -DOld_list_output . */ | 
|---|
| 120 | /* 18 Jan. 1992: make list output consistent with F format by | 
|---|
| 121 | printing .1 rather than 0.1 (introduced yesterday). */ | 
|---|
| 122 | /* 3 Feb. 1992:  rsne.c: fix namelist read bug that caused the | 
|---|
| 123 | character following a comma to be ignored. */ | 
|---|
| 124 | /* 19 May 1992:  adjust iio.c, ilnw.c, rdfmt.c and rsli.c to make err= | 
|---|
| 125 | work with internal list and formatted I/O. */ | 
|---|
| 126 | /* 18 July 1992: adjust rsne.c to allow namelist input to stop at | 
|---|
| 127 | an & (e.g. &end). */ | 
|---|
| 128 | /* 23 July 1992: switch to ANSI prototypes unless KR_headers is #defined ; | 
|---|
| 129 | recognize Z format (assuming 8-bit bytes). */ | 
|---|
| 130 | /* 14 Aug. 1992: tweak wrt_E in wref.c to avoid -NaN */ | 
|---|
| 131 | /* 23 Oct. 1992: Supply missing l_eof = 0 assignment to s_rsne() in rsne.c | 
|---|
| 132 | (so end-of-file on other files won't confuse namelist | 
|---|
| 133 | reads of external files).  Prepend f__ to external | 
|---|
| 134 | names that are only of internal interest to lib[FI]77. */ | 
|---|
| 135 | /* 1 Feb. 1993:  backspace.c: fix bug that bit when last char of 2nd | 
|---|
| 136 | buffer == '\n'. | 
|---|
| 137 | endfile.c: guard against tiny L_tmpnam; close and reopen | 
|---|
| 138 | files in t_runc(). | 
|---|
| 139 | lio.h: lengthen LINTW (buffer size in lwrite.c). | 
|---|
| 140 | err.c, open.c: more prepending of f__ (to [rw]_mode). */ | 
|---|
| 141 | /* 5 Feb. 1993:  tweaks to NAMELIST: rsne.c: ? prints the namelist being | 
|---|
| 142 | sought; namelists of the wrong name are skipped (after | 
|---|
| 143 | an error message; xwsne.c: namelist writes have a | 
|---|
| 144 | newline before each new variable. | 
|---|
| 145 | open.c: ACCESS='APPEND' positions sequential files | 
|---|
| 146 | at EOF (nonstandard extension -- that doesn't require | 
|---|
| 147 | changing data structures). */ | 
|---|
| 148 | /* 9 Feb. 1993:  Change some #ifdef MSDOS lines to #ifdef NON_UNIX_STDIO. | 
|---|
| 149 | err.c: under NON_UNIX_STDIO, avoid close(creat(name,0666)) | 
|---|
| 150 | when the unit has another file descriptor for name. */ | 
|---|
| 151 | /* 4 March 1993: err.c, open.c: take declaration of fdopen from rawio.h; | 
|---|
| 152 | open.c: always give f__w_mode[] 4 elements for use | 
|---|
| 153 | in t_runc (in endfile.c -- for change of 1 Feb. 1993). */ | 
|---|
| 154 | /* 6 March 1993: uio.c: adjust off-end-of-record test for sequential | 
|---|
| 155 | unformatted reads to respond to err= rather than end=. */ | 
|---|
| 156 | /* 12 March 1993: various tweaks for C++ */ | 
|---|
| 157 | /* 6 April 1993: adjust error returns for formatted inputs to flush | 
|---|
| 158 | the current input line when err=label is specified. | 
|---|
| 159 | To restore the old behavior (input left mid-line), | 
|---|
| 160 | either adjust the #definition of errfl in fio.h or | 
|---|
| 161 | omit the invocation of f__doend in err__fl (in err.c). */ | 
|---|
| 162 | /* 23 June 1993: iio.c: fix bug in format reversions for internal writes. */ | 
|---|
| 163 | /* 5 Aug. 1993:  lread.c: fix bug in handling repetition counts for | 
|---|
| 164 | logical data (during list or namelist input). | 
|---|
| 165 | Change struct f__syl to struct syl (for buggy compilers). */ | 
|---|
| 166 | /* 7 Aug. 1993:  lread.c: fix bug in namelist reading of incomplete | 
|---|
| 167 | logical arrays. */ | 
|---|
| 168 | /* 9 Aug. 1993:  lread.c: fix bug in namelist reading of an incomplete | 
|---|
| 169 | array of numeric data followed by another namelist | 
|---|
| 170 | item whose name starts with 'd', 'D', 'e', or 'E'. */ | 
|---|
| 171 | /* 8 Sept. 1993: open.c: protect #include "sys/..." with | 
|---|
| 172 | #ifndef NON_UNIX_STDIO; Version date not changed. */ | 
|---|
| 173 | /* 10 Nov. 1993: backspace.c: add nonsense for #ifdef MSDOS */ | 
|---|
| 174 | /* 8 Dec. 1993:  iio.c: adjust internal formatted reads to treat | 
|---|
| 175 | short records as though padded with blanks | 
|---|
| 176 | (rather than causing an "off end of record" error). */ | 
|---|
| 177 | /* 22 Feb. 1994: lread.c: check that realloc did not return NULL. */ | 
|---|
| 178 | /* 6 June 1994:  Under NON_UNIX_STDIO, use binary mode for direct | 
|---|
| 179 | formatted files (avoiding any confusion regarding \n). */ | 
|---|
| 180 | /* 5 July 1994:  Fix bug (introduced 6 June 1994?) in reopening files | 
|---|
| 181 | under NON_UNIX_STDIO. */ | 
|---|
| 182 | /* 6 July 1994:  wref.c: protect with #ifdef GOOD_SPRINTF_EXPONENT an | 
|---|
| 183 | optimization that requires exponents to have 2 digits | 
|---|
| 184 | when 2 digits suffice. | 
|---|
| 185 | lwrite.c wsfe.c (list and formatted external output): | 
|---|
| 186 | omit ' ' carriage-control when compiled with | 
|---|
| 187 | -DOMIT_BLANK_CC .  Off-by-one bug fixed in character | 
|---|
| 188 | count for list output of character strings. | 
|---|
| 189 | Omit '.' in list-directed printing of Nan, Infinity. */ | 
|---|
| 190 | /* 12 July 1994: wrtfmt.c: under G11.4, write 0. as "  .0000    " rather | 
|---|
| 191 | than "  .0000E+00". */ | 
|---|
| 192 | /* 3 Aug. 1994:  lwrite.c: do not insert a newline when appending an | 
|---|
| 193 | oversize item to an empty line. */ | 
|---|
| 194 | /* 12 Aug. 1994: rsli.c rsne.c: fix glitch (reset nml_read) that kept | 
|---|
| 195 | ERR= (in list- or format-directed input) from working | 
|---|
| 196 | after a NAMELIST READ. */ | 
|---|
| 197 | /* 7 Sept. 1994: typesize.c: adjust to allow types LOGICAL*1, LOGICAL*2, | 
|---|
| 198 | INTEGER*1, and (under -DAllow_TYQUAD) INTEGER*8 | 
|---|
| 199 | in NAMELISTs. */ | 
|---|
| 200 | /* 6 Oct. 1994:  util.c: omit f__mvgbt, as it is never used. */ | 
|---|
| 201 | /* 2 Nov. 1994:  add #ifdef ALWAYS_FLUSH logic. */ | 
|---|
| 202 | /* 26 Jan. 1995: wref.c: fix glitch in printing the exponent of 0 when | 
|---|
| 203 | GOOD_SPRINTF_EXPONENT is not #defined. */ | 
|---|
| 204 | /* 24 Feb. 1995: iio.c: z_getc: insert (unsigned char *) to allow | 
|---|
| 205 | internal reading of characters with high-bit set | 
|---|
| 206 | (on machines that sign-extend characters). */ | 
|---|
| 207 | /* 14 March 1995:lread.c and rsfe.c: adjust s_rsle and s_rsfe to | 
|---|
| 208 | check for end-of-file (to prevent infinite loops | 
|---|
| 209 | with empty read statements). */ | 
|---|
| 210 | /* 26 May 1995:  iio.c: z_wnew: fix bug in handling T format items | 
|---|
| 211 | in internal writes whose last item is written to | 
|---|
| 212 | an earlier position than some previous item. */ | 
|---|
| 213 | /* 29 Aug. 1995: backspace.c: adjust MSDOS logic. */ | 
|---|
| 214 | /* 6 Sept. 1995: Adjust namelist input to treat a subscripted name | 
|---|
| 215 | whose subscripts do not involve colons similarly | 
|---|
| 216 | to the name without a subscript: accept several | 
|---|
| 217 | values, stored in successive elements starting at | 
|---|
| 218 | the indicated subscript.  Adjust namelist output | 
|---|
| 219 | to quote character strings (avoiding confusion with | 
|---|
| 220 | arrays of character strings).  Adjust f_init calls | 
|---|
| 221 | for people who don't use libF77's main(); now open and | 
|---|
| 222 | namelist read statements invoke f_init if needed. */ | 
|---|
| 223 | /* 7 Sept. 1995: Fix some bugs with -DAllow_TYQUAD (for integer*8). | 
|---|
| 224 | Add -DNo_Namelist_Comments lines to rsne.c. */ | 
|---|
| 225 | /* 5 Oct. 1995:  wrtfmt.c: fix bug with t editing (f__cursor was not | 
|---|
| 226 | always zeroed in mv_cur). */ | 
|---|
| 227 | /* 11 Oct. 1995: move defs of f__hiwater, f__svic, f__icptr from wrtfmt.c | 
|---|
| 228 | to err.c */ | 
|---|
| 229 | /* 15 Mar. 1996: lread.c, rsfe.c: honor END= in READ stmt with empty iolist */ | 
|---|
| 230 |  | 
|---|
| 231 | /* 13 May 1996:  add ftell_.c and fseek_.c */ | 
|---|
| 232 | /* 9 June 1996:  Adjust rsli.c and lread.c so internal list input with | 
|---|
| 233 | too few items in the input string will honor end= . */ | 
|---|
| 234 | /* 12 Sept. 1995:fmtlib.c: fix glitch in printing the most negative integer. */ | 
|---|
| 235 | /* 25 Sept. 1995:fmt.h: for formatted writes of negative integer*1 values, | 
|---|
| 236 | make ic signed on ANSI systems.  If formatted writes of | 
|---|
| 237 | integer*1 values trouble you when using a K&R C compiler, | 
|---|
| 238 | switch to an ANSI compiler or use a compiler flag that | 
|---|
| 239 | makes characters signed. */ | 
|---|
| 240 | /* 9 Dec. 1996:  d[fu]e.c, err.c: complain about non-positive rec= | 
|---|
| 241 | in direct read and write statements. | 
|---|
| 242 | ftell_.c: change param "unit" to "Unit" for -DKR_headers. */ | 
|---|
| 243 | /* 26 Feb. 1997: ftell_.c: on systems that define SEEK_SET, etc., use | 
|---|
| 244 | SEEK_SET, SEEK_CUR, SEEK_END for *whence = 0, 1, 2. */ | 
|---|
| 245 | /* 7 Apr. 1997:  fmt.c: adjust to complain at missing numbers in formats | 
|---|
| 246 | (but still treat missing ".nnn" as ".0"). */ | 
|---|
| 247 | /* 11 Apr. 1997: err.c: attempt to make stderr line buffered rather | 
|---|
| 248 | than fully buffered.  (Buffering is needed for format | 
|---|
| 249 | items T and TR.) */ | 
|---|
| 250 | /* 27 May 1997:  ftell_.c: fix typo (that caused the third argument to be | 
|---|
| 251 | treated as 2 on some systems). */ | 
|---|
| 252 | /* 5 Aug. 1997:  lread.c: adjust to accord with a change to the Fortran 8X | 
|---|
| 253 | draft (in 1990 or 1991) that rescinded permission to elide | 
|---|
| 254 | quote marks in namelist input of character data; compile | 
|---|
| 255 | with -DF8X_NML_ELIDE_QUOTES to get the old behavior. | 
|---|
| 256 | wrtfmt.o: wrt_G: tweak to print the right number of 0's | 
|---|
| 257 | for zero under G format. */ | 
|---|
| 258 | /* 16 Aug. 1997: iio.c: fix bug in internal writes to an array of character | 
|---|
| 259 | strings that sometimes caused one more array element than | 
|---|
| 260 | required by the format to be blank-filled.  Example: | 
|---|
| 261 | format(1x). */ | 
|---|
| 262 | /* 16 Sept. 1997:fmt.[ch] rdfmt.c wrtfmt.c: tweak struct syl for machines | 
|---|
| 263 | with 64-bit pointers and 32-bit ints that did not 64-bit | 
|---|
| 264 | align struct syl (e.g., Linux on the DEC Alpha). */ | 
|---|
| 265 | /* 19 Jan. 1998: backspace.c: for b->ufmt==0, change sizeof(int) to | 
|---|
| 266 | sizeof(uiolen).  On machines where this would make a | 
|---|
| 267 | difference, it is best for portability to compile libI77 with | 
|---|
| 268 | -DUIOLEN_int (which will render the change invisible). */ | 
|---|
| 269 | /* 4 March 1998: open.c: fix glitch in comparing file names under | 
|---|
| 270 | -DNON_UNIX_STDIO */ | 
|---|
| 271 | /* 17 March 1998: endfile.c, open.c: acquire temporary files from tmpfile(), | 
|---|
| 272 | unless compiled with -DNON_ANSI_STDIO, which uses mktemp(). | 
|---|
| 273 | New buffering scheme independent of NON_UNIX_STDIO for | 
|---|
| 274 | handling T format items.  Now -DNON_UNIX_STDIO is no | 
|---|
| 275 | longer be necessary for Linux, and libf2c no longer | 
|---|
| 276 | causes stderr to be buffered -- the former setbuf or | 
|---|
| 277 | setvbuf call for stderr was to make T format items work. | 
|---|
| 278 | open.c: use the Posix access() function to check existence | 
|---|
| 279 | or nonexistence of files, except under -DNON_POSIX_STDIO, | 
|---|
| 280 | where trial fopen calls are used. */ | 
|---|
| 281 | /* 5 April 1998: wsfe.c: make $ format item work: this was lost in the | 
|---|
| 282 | changes of 17 March 1998. */ | 
|---|
| 283 | /* 28 May 1998:  backspace.c dfe.c due.c iio.c lread.c rsfe.c sue.c wsfe.c: | 
|---|
| 284 | set f__curunit sooner so various error messages will | 
|---|
| 285 | correctly identify the I/O unit involved. */ | 
|---|
| 286 | /* 17 June 1998: lread.c: unless compiled with | 
|---|
| 287 | ALLOW_FLOAT_IN_INTEGER_LIST_INPUT #defined, treat | 
|---|
| 288 | floating-point numbers (containing either a decimal point | 
|---|
| 289 | or an exponent field) as errors when they appear as list | 
|---|
| 290 | input for integer data. */ | 
|---|
| 291 | /* 7 Sept. 1998: move e_wdfe from sfe.c to dfe.c, where it was originally. | 
|---|
| 292 | Why did it ever move to sfe.c? */ | 
|---|
| 293 | /* 2 May 1999:   open.c: set f__external (to get "external" versus "internal" | 
|---|
| 294 | right in the error message if we cannot open the file). | 
|---|
| 295 | err.c: cast a pointer difference to (int) for %d. | 
|---|
| 296 | rdfmt.c: omit fixed-length buffer that could be overwritten | 
|---|
| 297 | by formats Inn or Lnn with nn > 83. */ | 
|---|
| 298 | /* 3 May 1999:  open.c: insert two casts for machines with 64-bit longs. */ | 
|---|
| 299 | /* 18 June 1999: backspace.c: allow for b->ufd changing in t_runc */ | 
|---|
| 300 | /* 27 June 1999: rsne.c: fix bug in namelist input: a misplaced increment */ | 
|---|
| 301 | /*               could cause wrong array elements to be assigned; e.g., */ | 
|---|
| 302 | /*               "&input k(5)=10*1 &end" assigned k(5) and k(15..23)    */ | 
|---|
| 303 | /* 15 Nov. 1999: endfile.c: set state to writing (b->uwrt = 1) when an */ | 
|---|
| 304 | /*              endfile statement requires copying the file. */ | 
|---|
| 305 | /*              (Otherwise an immediately following rewind statement */ | 
|---|
| 306 | /*              could make the file appear empty.)  Also, supply a */ | 
|---|
| 307 | /*              missing (long) cast in the sprintf call. */ | 
|---|
| 308 | /*               sfe.c: add #ifdef ALWAYS_FLUSH logic, for formatted I/O: */ | 
|---|
| 309 | /*              Compiling libf2c with -DALWAYS_FLUSH should prevent losing */ | 
|---|
| 310 | /*              any data in buffers should the program fault.  It also */ | 
|---|
| 311 | /*              makes the program run more slowly. */ | 
|---|
| 312 | /* 20 April 2000: rsne.c, xwsne.c: tweaks that only matter if ftnint and */ | 
|---|
| 313 | /*              ftnlen are of different fundamental types (different numbers */ | 
|---|
| 314 | /*              of bits).  Since these files will not compile when this */ | 
|---|
| 315 | /*              change matters, the above VERSION string remains unchanged. */ | 
|---|
| 316 | /* 4 July 2000: adjustments to permit compilation by C++ compilers; */ | 
|---|
| 317 | /*              VERSION string remains unchanged. NOT APPLIED FOR G77 */ | 
|---|
| 318 | /* 5 Dec. 2000: lread.c: under namelist input, when reading a logical array, */ | 
|---|
| 319 | /*              treat Tstuff= and Fstuff= as new assignments rather than as */ | 
|---|
| 320 | /*              logical constants. */ | 
|---|
| 321 |  | 
|---|
| 322 | /* Changes for GNU Fortran (g77) version of libf2c:  */ | 
|---|
| 323 |  | 
|---|
| 324 | /* 17 June 1997: detect recursive I/O and call f__fatal explaining it. */ | 
|---|