|
|
coherent
stdio/Changes 11/20/92 Substantive changes in new ANSI/iBCS2 compliant stdio library: The new version of stdio defines the following 41 functions, as in ANSI C: clearerr() fclose() feof() ferror() fflush() fgetc() fgetpos() fgets() fopen() fprintf() fputc() fputs() fread() freopen() fscanf() fseek() fsetpos() ftell() fwrite() getc() getchar() gets() perror() printf() putc() putchar() puts() remove() rename() rewind() scanf() setbuf() setvbuf() sprintf() sscanf() tmpfile() tmpnam() ungetc() vfprintf() vprintf() Of these, the following were not previously defined in COH libc.a: fgetpos() fsetpos() setvbuf() tmpfile() [Others were added to COHERENT libc.a after 4.0.1, namely v*printf().] In addition, it defines the following non-ANSI (Unix V7) functions, not previously defined in COHERENT libc.a: ecvt() fcvt() gcvt() Some of the silent effects of the changes to libc.a and <stdio.h>: stdio.h Used to define "extern char *malloc();" et al., these were also (correctly) defined in <stdlib.h>, which is where the definition belongs. The new <stdio.h> does not define malloc(), programs should #include <stdlib.h> to get its definition. printf() et al. COH printf() used formats "%[DOUX]" as meaning "%l[doux]". ANSI uses "%X" as same "%x" but printing "0X<digits>" rather than "0x<digits>" and does not recognize the other forms. rewind() COH defined int rewind(), ANSI defines void rewind(); i.e., rewind() no longer returns status. scanf() et al. COH recognized "%E" and "%F" as meaning "%le" and "%lf". ANSI defines "%E" and "%G" as same as "%e" and "%g", requiring an explicit 'l' flag for doubles. This is only a partial list, see the ANSI document for more details!
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.