]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
fd: Open-code para_chdir().
authorAndre Noll <maan@tuebingen.mpg.de>
Sun, 25 Sep 2022 18:57:16 +0000 (20:57 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 7 May 2023 18:45:14 +0000 (20:45 +0200)
Another public trivial wrapper that can go away because it has only
a single caller. POSIX says

Upon successful completion, 0 shall be returned. Otherwise, −1 shall
be returned, the current working directory shall remain unchanged,
and errno shall be set to indicate the error.

So the new check against zero is equivalent to the old code which
checked whether the return value is non-negative.

fd.c
fd.h

diff --git a/fd.c b/fd.c
index 112f1835d3e228b9ce9ef9b1c515a067752017ae..cc38f1afba150e0de41fff093c0c5b7ccb24e377 100644 (file)
--- a/fd.c
+++ b/fd.c
@@ -392,22 +392,6 @@ int para_open(const char *path, int flags, mode_t mode)
        return -ERRNO_TO_PARA_ERROR(errno);
 }
 
-/**
- * Wrapper for chdir(2).
- *
- * \param path The specified directory.
- *
- * \return Standard.
- */
-int para_chdir(const char *path)
-{
-       int ret = chdir(path);
-
-       if (ret >= 0)
-               return 1;
-       return -ERRNO_TO_PARA_ERROR(errno);
-}
-
 /**
  * Save the cwd and open a given directory.
  *
@@ -443,9 +427,10 @@ static int para_opendir(const char *dirname, DIR **dir, int *cwd)
                        return ret;
                *cwd = ret;
        }
-       ret = para_chdir(dirname);
-       if (ret < 0)
+       if (chdir(dirname) != 0) {
+               ret = -ERRNO_TO_PARA_ERROR(errno);
                goto close_cwd;
+       }
        *dir = opendir(".");
        if (*dir)
                return 1;
diff --git a/fd.h b/fd.h
index 64850652ade120499759d4bf65a8b27169f32813..9f11dc85c8206bd19b6d85cbeac7f104b339d11b 100644 (file)
--- a/fd.h
+++ b/fd.h
@@ -11,7 +11,6 @@ __must_check int mark_fd_blocking(int fd);
 int para_mmap(size_t length, int prot, int flags, int fd, void *map);
 int para_open(const char *path, int flags, mode_t mode);
 int para_mkdir(const char *path, mode_t mode);
-int para_chdir(const char *path);
 int mmap_full_file(const char *filename, int open_mode, void **map,
        size_t *size, int *fd_ptr);
 int para_munmap(void *start, size_t length);