4.4BSD/usr/share/man/cat3/getwd.0

Compare this file to the similar file:
Show the results in this format:

GETCWD(3)                   BSD Programmer's Manual                  GETCWD(3)

NNAAMMEE
     ggeettwwdd - get working directory pathname

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<ssttddiioo..hh>>

     _c_h_a_r _*
     ggeettccwwdd(_c_h_a_r _*_b_u_f, _s_i_z_e___t _s_i_z_e);

     _c_h_a_r _*
     ggeettwwdd(_c_h_a_r _*_b_u_f);

DDEESSCCRRIIPPTTIIOONN
     The ggeettccwwdd() function copies the absolute pathname of the current working
     directory into the memory referenced by _b_u_f and returns a pointer to _b_u_f.
     The _s_i_z_e argument is the size, in bytes, of the array referenced by _b_u_f.

     If _b_u_f is NULL, space is allocated as necessary to store the pathname.
     This space may later be free(3)'d.

     The function ggeettwwdd() is a compatibility routine which calls ggeettccwwdd() with
     its _b_u_f argument and a size of MAXPATHLEN (as defined in the include file
     <_s_y_s_/_p_a_r_a_m_._h>). Obviously, _b_u_f should be at least MAXPATHLEN bytes in
     length.

     These routines have traditionally been used by programs to save the name
     of a working directory for the purpose of returning to it.  A much faster
     and less error-prone method of accomplishing this is to open the current
     directory (`.') and use the fchdir(2) function to return.

RREETTUURRNN VVAALLUUEESS
     Upon successful completion, a pointer to the pathname is returned.  Oth-
     erwise a NULL pointer is returned and the global variable _e_r_r_n_o is set to
     indicate the error.  In addition, ggeettwwdd() copies the error message asso-
     ciated with _e_r_r_n_o into the memory referenced by _b_u_f.

EERRRROORRSS
     The ggeettccwwdd() function will fail if:

     [EACCESS]  Read or search permission was denied for a component of the
                pathname.

     [EINVAL]   The _s_i_z_e argument is zero.

     [ENOENT]   A component of the pathname no longer exists.

     [ENOMEM]   Insufficient memory is available.

     [ERANGE]   The _s_i_z_e argument is greater than zero but smaller than the
                length of the pathname plus 1.

SSEEEE AALLSSOO
     chdir(2),  fchdir(2),  malloc(3),  strerror(3)

SSTTAANNDDAARRDDSS
     The ggeettccwwdd() function conforms to ANSI C X3.159-1989 (``ANSI C ''). The
     ability to specify a NULL pointer and have ggeettccwwdd() allocate memory as
     necessary is an extension.

HHIISSTTOORRYY
     The ggeettwwdd() function appeared in 4.0BSD.

BBUUGGSS
     The ggeettwwdd() function does not do sufficient error checking and is not
     able to return very long, but valid, paths.  It is provided for compati-
     bility.

4.2 Berkeley Distribution        June 4, 1993                                2