X-Git-Url: http://git.tuebingen.mpg.de/?p=osl.git;a=blobdiff_plain;f=fd.c;h=17d56651a087bfe32c00d124eeb95d57458263dd;hp=920bce9cf49a132a868c1983f990cd7fd124748a;hb=a00170132c28eeea61033d820c22e8d48d35a0fd;hpb=e7fdbaf015655af4eec7e4655b9306e1db862a40 diff --git a/fd.c b/fd.c index 920bce9..17d5665 100644 --- a/fd.c +++ b/fd.c @@ -15,6 +15,7 @@ #include "log.h" #include "osl.h" #include "error.h" +#include "fd.h" /** * Wrapper for the write system call. @@ -124,11 +125,9 @@ out: * * \return Standard. */ -static int para_chdir(const char *path) +_static_inline_ int __chdir(const char *path) { - int ret = chdir(path); - - if (ret >= 0) + if (chdir(path) >= 0) return 1; return -ERRNO_TO_ERROR(errno); } @@ -167,7 +166,7 @@ int para_opendir(const char *dirname, DIR **dir, int *cwd) return ret; *cwd = ret; } - ret = para_chdir(dirname); + ret = __chdir(dirname); if (ret < 0) goto close_cwd; *dir = opendir("."); @@ -183,20 +182,6 @@ close_cwd: return ret; } -/** - * A wrapper for fchdir(). - * - * \param fd An open file descriptor. - * - * \return Standard. - */ -int para_fchdir(int fd) -{ - if (fchdir(fd) < 0) - return -ERRNO_TO_ERROR(errno); - return 1; -} - /** * Open a file and map it into memory. * @@ -334,22 +319,18 @@ __must_check __printf_1_2 __malloc char *make_message(const char *fmt, ...) * * \sa truncate(2) */ -int para_truncate(const char *path, off_t size) +int truncate_file(const char *path, off_t size) { int ret; struct stat statbuf; - ret = -E_OSL_STAT; - if (stat(path, &statbuf) < 0) - goto out; + ret = osl_stat(path, &statbuf); + if (ret < 0) + return ret; ret = -E_OSL_BAD_SIZE; if (statbuf.st_size < size) - goto out; - ret = -E_OSL_TRUNC; + return ret; if (truncate(path, statbuf.st_size - size) < 0) - goto out; - ret = 1; -out: - return ret; + return -ERRNO_TO_ERROR(errno); + return 1; } -