From: Andre Noll Date: Sun, 25 Sep 2022 18:57:16 +0000 (+0200) Subject: fd: Open-code para_chdir(). X-Git-Tag: v0.7.3~13^2~5 X-Git-Url: http://git.tuebingen.mpg.de/versions/paraslash-0.3.1.tar.bz2.asc?a=commitdiff_plain;h=15f6e433432a6ba8e021c74b0f28ecd545721d42;p=paraslash.git fd: Open-code para_chdir(). 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. --- diff --git a/fd.c b/fd.c index 112f1835..cc38f1af 100644 --- 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 64850652..9f11dc85 100644 --- 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);