comments
authorJim Meyering <jim@meyering.net>
Wed, 5 Mar 2003 07:24:22 +0000 (07:24 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 5 Mar 2003 07:24:22 +0000 (07:24 +0000)
lib/save-cwd.c

index d7045b3..bd75ef7 100644 (file)
@@ -15,7 +15,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
-/* Written by Jim Meyering <meyering@na-net.ornl.gov>.  */
+/* Written by Jim Meyering.  */
 
 #if HAVE_CONFIG_H
 # include "config.h"
@@ -57,7 +57,15 @@ extern int errno;
    use free_cwd to perform the necessary free or close.  Upon failure,
    no memory is allocated, any locally opened file descriptors are
    closed;  return non-zero -- in that case, free_cwd need not be
-   called, but doing so is ok.  Otherwise, return zero.  */
+   called, but doing so is ok.  Otherwise, return zero.
+
+   The `raison d'etre' for this interface is that some systems lack
+   support for fchdir, and getcwd is not robust or as efficient.
+   So, we prefer to use the open/fchdir approach, but fall back on
+   getcwd if necessary.  Some systems lack fchdir altogether: OS/2,
+   Cygwin (as of March 2003), SCO Xenix.  At least SunOS4 and Irix 5.3
+   provide the function, yet it doesn't work for partitions on which
+   auditing is enabled.  */
 
 int
 save_cwd (struct saved_cwd *cwd)