Loading...
--- Libc/Libc-583/stdlib/realpath.3
+++ Libc/Libc-262.3.2/stdlib/realpath.3
@@ -33,75 +33,65 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)realpath.3 8.2 (Berkeley) 2/16/94
-.\" $FreeBSD: src/lib/libc/stdlib/realpath.3,v 1.13 2003/03/27 20:48:53 fjoe Exp $
+.\" $FreeBSD: src/lib/libc/stdlib/realpath.3,v 1.10 2001/09/07 14:46:36 asmodai Exp $
.\"
-.Dd April 5, 2008
+.Dd February 16, 1994
.Dt REALPATH 3
.Os
.Sh NAME
.Nm realpath
.Nd returns the canonicalized absolute pathname
-.\" .Sh LIBRARY
-.\" .Lb libc
+.Sh LIBRARY
+.Lb libc
.Sh SYNOPSIS
+.In sys/param.h
.In stdlib.h
.Ft "char *"
-.Fo realpath
-.Fa "const char *restrict file_name"
-.Fa "char *restrict resolved_name"
-.Fc
+.Fn realpath "const char *pathname" "char resolved_path[MAXPATHLEN]"
.Sh DESCRIPTION
The
.Fn realpath
function resolves all symbolic links, extra
.Dq /
-characters, and references to
+characters and references to
.Pa /./
and
.Pa /../
in
-.Fa file_name .
-If the
-.Fa resolved_name
+.Fa pathname ,
+and copies the resulting absolute pathname into
+the memory referenced by
+.Fa resolved_path .
+The
+.Fa resolved_path
argument
-is non-NULL, the resulting absolute pathname is copied there (it
.Em must
refer to a buffer capable of storing at least
-.Dv PATH_MAX
-characters).
-.Pp
-As a permitted extension to the standard, if
-.Fa resolved_name
-is NULL,
-memory is allocated for the resulting absolute pathname, and is returned by
-.Fn realpath .
-This memory should be freed by a call to
-.Xr free 3
-when no longer needed.
+.Dv MAXPATHLEN
+characters.
.Pp
The
.Fn realpath
function will resolve both absolute and relative paths
and return the absolute pathname corresponding to
-.Fa file_name .
-All components of
-.Fa file_name
+.Fa pathname .
+All but the last component of
+.Fa pathname
must exist when
.Fn realpath
is called.
.Sh "RETURN VALUES"
-On success, the
+The
.Fn realpath
-function returns the address of the resulting absolute pathname, which is
-.Fa resolved_name
-if it was non-NULL, or the address of newly allocated memory.
+function returns
+.Fa resolved_path
+on success.
If an error occurs,
.Fn realpath
returns
-.Dv NULL .
-If
-.Fa resolved_name
-was non-NULL, it will
+.Dv NULL ,
+and
+.Fa resolved_path
contains the pathname which caused the problem.
.Sh ERRORS
The function
@@ -109,46 +99,30 @@
may fail and set the external variable
.Va errno
for any of the errors specified for the library functions
-.Xr alloca 3 ,
-.Xr getattrlist 2 ,
-.Xr getcwd 3 ,
+.Xr chdir 2 ,
+.Xr close 2 ,
+.Xr fchdir 2 ,
.Xr lstat 2 ,
-.Xr readlink 2 ,
-.Xr stat 2 ,
+.Xr open 2 ,
+.Xr readlink 2
and
-.Xr strdup 3 .
-.\" .Sh CAVEATS
-.\" This implementation of
-.\" .Fn realpath
-.\" differs slightly from the Solaris implementation.
-.\" The
-.\" .Bx 4.4
-.\" version always returns absolute pathnames,
-.\" whereas the Solaris implementation will,
-.\" under certain circumstances, return a relative
-.\" .Fa resolved_name
-.\" when given a relative
-.\" .Fa file_name .
-.Sh LEGACY SYNOPSIS
-.Fd #include <sys/param.h>
-.Fd #include <stdlib.h>
-.Pp
-The include file
-.In sys/param.h
-is necessary.
-.Sh LEGACY DESCRIPTION
-In legacy mode,
-the last component of
-.Fa file_name
-does not need to exist when
+.Xr getcwd 3 .
+.Sh CAVEATS
+This implementation of
.Fn realpath
-is called.
+differs slightly from the Solaris implementation.
+The
+.Bx 4.4
+version always returns absolute pathnames,
+whereas the Solaris implementation will,
+under certain circumstances, return a relative
+.Fa resolved_path
+when given a relative
+.Fa pathname .
.Sh "SEE ALSO"
-.Xr free 3 ,
-.Xr getcwd 3 ,
-.Xr compat 5
+.Xr getcwd 3
.Sh HISTORY
The
.Fn realpath
-function first appeared in
+function call first appeared in
.Bx 4.4 .