--- /dev/null
+--- fopen.3 2003-05-20 15:22:41.000000000 -0700
++++ fopen.3.edit 2006-06-28 16:55:52.000000000 -0700
+@@ -40,8 +40,8 @@
+ .Dt FOPEN 3
+ .Os
+ .Sh NAME
+-.Nm fopen ,
+ .Nm fdopen ,
++.Nm fopen ,
+ .Nm freopen
+ .Nd stream open functions
+ .Sh LIBRARY
+@@ -49,17 +49,27 @@
+ .Sh SYNOPSIS
+ .In stdio.h
+ .Ft FILE *
+-.Fn fopen "const char * restrict path" "const char * restrict mode"
++.Fo fdopen
++.Fa "int fildes"
++.Fa "const char *mode"
++.Fc
+ .Ft FILE *
+-.Fn fdopen "int fildes" "const char *mode"
++.Fo fopen
++.Fa "const char *restrict filename"
++.Fa "const char *restrict mode"
++.Fc
+ .Ft FILE *
+-.Fn freopen "const char *path" "const char *mode" "FILE *stream"
++.Fo freopen
++.Fa "const char *restrict filename"
++.Fa "const char *restrict mode"
++.Fa "FILE *restrict stream"
++.Fc
+ .Sh DESCRIPTION
+ The
+ .Fn fopen
+ function
+ opens the file whose name is the string pointed to by
+-.Fa path
++.Fa filename
+ and associates a stream with it.
+ .Pp
+ The argument
+@@ -107,6 +117,17 @@
+ .St -isoC
+ and has no effect; the ``b'' is ignored.
+ .Pp
++Finally, as an extension to the standards (and thus may not be portable),
++.Fa mode
++string may end with the letter ``x'', which insists on creating a new file
++when used with ``w'' or ``a''.
++If
++.Fa path
++exists, then an error is returned (this is the equivalent of specifying
++.Dv O_EXCL
++with
++.Xr open 2 ) .
++.Pp
+ Any created files will have mode
+ .Pf \\*q Dv S_IRUSR
+ \&|
+@@ -148,7 +169,7 @@
+ .Fn freopen
+ function
+ opens the file whose name is the string pointed to by
+-.Fa path
++.Fa filename
+ and associates the stream pointed to by
+ .Fa stream
+ with it.
+@@ -160,7 +181,7 @@
+ function.
+ .Pp
+ If the
+-.Fa path
++.Fa filename
+ argument is
+ .Dv NULL ,
+ .Fn freopen
+@@ -204,7 +225,7 @@
+ .Sh RETURN VALUES
+ Upon successful completion
+ .Fn fopen ,
+-.Fn fdopen
++.Fn fdopen ,
+ and
+ .Fn freopen
+ return a