]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Don't emit diagnostics. Let callers do that.
authorJim Meyering <jim@meyering.net>
Sat, 12 Jul 2003 16:07:30 +0000 (16:07 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 12 Jul 2003 16:07:30 +0000 (16:07 +0000)
Don't include "error.h".
(save_cwd): Don't call error.  Ensure that errno is valid
when returning nonzero.

lib/save-cwd.c

index bd75ef745d2fcb73e0b34212c6718d7f28f05851..068ff0ac0cd08740a499888aaf61747d3f45de43 100644 (file)
@@ -47,7 +47,6 @@ extern int errno;
 #endif
 
 #include "save-cwd.h"
-#include "error.h"
 #include "xgetcwd.h"
 
 /* Record the location of the current working directory in CWD so that
@@ -80,10 +79,7 @@ save_cwd (struct saved_cwd *cwd)
 #if HAVE_FCHDIR
       cwd->desc = open (".", O_RDONLY | O_DIRECTORY);
       if (cwd->desc < 0)
-       {
-         error (0, errno, "cannot open current directory");
-         return 1;
-       }
+       return 1;
 
 # if __sun__ || sun
       /* On SunOS 4 and IRIX 5.3, fchdir returns EINVAL when auditing
@@ -98,9 +94,10 @@ save_cwd (struct saved_cwd *cwd)
            }
          else
            {
-             error (0, errno, "current directory");
+             int saved_errno = errno;
              close (cwd->desc);
              cwd->desc = -1;
+             errno = saved_errno;
              return 1;
            }
        }
@@ -115,10 +112,7 @@ save_cwd (struct saved_cwd *cwd)
     {
       cwd->name = xgetcwd ();
       if (cwd->name == NULL)
-       {
-         error (0, errno, "cannot get current directory");
-         return 1;
-       }
+       return 1;
     }
   return 0;
 }