"getcwd" vs. "getwd" (was Re: Re GNU emacs 18.55)

Guy Harris guy at auspex.auspex.com
Sun Sep 2 06:27:55 AEST 1990


>It used to be (pre 3.3 days) that the current working directory was
>obtained by the system call getcwd.  Now, to be POSIX conformant, the
>system call is getwd, and getcwd is a subroutine which is implemented
>by calling getwd.

Were it not for the fact that IRIX started out as an S5 derivative, I'd
assume you'd reversed "getcwd" and "getwd" in the preceding paragraph,
as the POSIX call to get the current working directory is "getcwd", not
"getwd".  However, given that IRIX *did* start out as S5, I'd expect the
call to get the current working directory to be "getcwd", as that's the
S5 call; "getwd" is the BSD call.

If IRIX's "getcwd()" calls "getwd()", somebody got something backwards,
as "getwd()" doesn't take a "maximum size of buffer" argument but
"getcwd()" does.  Given that, a "getcwd()" that calls "getwd()" would
have to throw said argument away, and would run the risk of having
"getwd()" overrun the buffer if the string for the current working
directory is too long....



More information about the Comp.sys.sgi mailing list