]> git.saurik.com Git - apple/libc.git/blobdiff - stdio/FreeBSD/stdio.3.patch
Libc-498.tar.gz
[apple/libc.git] / stdio / FreeBSD / stdio.3.patch
diff --git a/stdio/FreeBSD/stdio.3.patch b/stdio/FreeBSD/stdio.3.patch
new file mode 100644 (file)
index 0000000..7ed9c8e
--- /dev/null
@@ -0,0 +1,108 @@
+--- stdio.3    2004-11-25 11:38:35.000000000 -0800
++++ stdio.3.edit       2006-09-06 16:18:21.000000000 -0700
+@@ -45,6 +45,20 @@
+ .Vt FILE *stdin ;
+ .Vt FILE *stdout ;
+ .Vt FILE *stderr ;
++.Pp
++Note:
++The current implementation does not allow these variables
++to be evaluated at C compile/link time.
++That is, a runtime calculation must be performed, such as:
++.Bd -literal -offset indent
++#include <stdio.h>
++
++static FILE *var;
++
++int main() {
++    var = stdout;
++}
++.Ed
+ .Sh DESCRIPTION
+ The standard
+ .Tn I/O
+@@ -232,11 +246,21 @@
+ .Dv putchar_unlocked
+ exist and will be used if the macro
+ definitions are explicitly removed.
++.Sh LEGACY SYNOPSIS
++The -D_NONSTD_SOURCE flag can be used
++to allow stdin, stdout, and/or stderr
++to be evaluated at compile/link time, as:
++.Bd -literal -offset indent
++#include <stdio.h>
++
++static FILE *var = stdout;
++.Ed
+ .Sh SEE ALSO
+ .Xr close 2 ,
+ .Xr open 2 ,
+ .Xr read 2 ,
+-.Xr write 2
++.Xr write 2 ,
++.Xr compat 5
+ .Sh BUGS
+ The standard buffered functions do not interact well with certain other
+ library and system functions, especially
+@@ -250,7 +274,9 @@
+ .Bl -column "Description"
+ .It Sy "Function      Description"
+ .It "asprintf formatted output conversion"
++.It ""
+ .It "clearerr check and reset stream status"
++.It ""
+ .It "fclose   close a stream"
+ .It "fdopen   stream open functions"
+ .It "feof     check and reset stream status"
+@@ -282,15 +308,18 @@
+ .It "fwopen   open a stream"
+ .It "fwprintf formatted wide character output conversion"
+ .It "fwrite   binary stream input/output"
++.It ""
+ .It "getc     get next character or word from input stream"
+ .It "getchar  get next character or word from input stream"
+ .It "gets     get a line from a stream"
+ .It "getw     get next character or word from input stream"
+ .It "getwc    get next wide character from input stream"
+ .It "getwchar get next wide character from input stream"
++.It ""
+ .It "mkdtemp  create unique temporary directory"
+ .It "mkstemp  create unique temporary file"
+ .It "mktemp   create unique temporary file"
++.It ""
+ .It "perror   system error messages"
+ .It "printf   formatted output conversion"
+ .It "putc     output a character or word to a stream"
+@@ -299,8 +328,10 @@
+ .It "putw     output a character or word to a stream"
+ .It "putwc    output a wide character to a stream"
+ .It "putwchar output a wide character to a stream"
++.It ""
+ .It "remove   remove directory entry"
+ .It "rewind   reposition a stream"
++.It ""
+ .It "scanf    input format conversion"
+ .It "setbuf   stream buffering operations"
+ .It "setbuffer        stream buffering operations"
+@@ -313,11 +344,14 @@
+ .It "swprintf formatted wide character output conversion"
+ .It "sys_errlist      system error messages"
+ .It "sys_nerr system error messages"
++.It ""
+ .It "tempnam  temporary file routines"
+ .It "tmpfile  temporary file routines"
+ .It "tmpnam   temporary file routines"
++.It ""
+ .It "ungetc   un-get character from input stream"
+ .It "ungetwc  un-get wide character from input stream"
++.It ""
+ .It "vasprintf        formatted output conversion"
+ .It "vfprintf formatted output conversion"
+ .It "vfscanf  input format conversion"
+@@ -329,5 +363,6 @@
+ .It "vsscanf  input format conversion"
+ .It "vswprintf        formatted wide character output conversion"
+ .It "vwprintf formatted wide character output conversion"
++.It ""
+ .It "wprintf  formatted wide character output conversion"
+ .El