X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fd.c;h=dc4fd59c93320929bd7e7f781a37f3e903a13c8f;hp=ceff71f584545bb6356d38129c436e8d393fe38c;hb=80541d0f045e1ed57332800eff9832e0a5b72ddf;hpb=ca006af72cef95b0aba3cad799badde47010a621 diff --git a/fd.c b/fd.c index ceff71f5..dc4fd59c 100644 --- a/fd.c +++ b/fd.c @@ -16,6 +16,30 @@ #include "string.h" #include "fd.h" +/** + * Change the name or location of a file. + * + * \param oldpath File to be moved. + * \param newpath Destination. + * + * This is just a simple wrapper for the rename(2) system call which returns a + * paraslash error code and prints an error message on failure. + * + * \return Standard. + * + * \sa rename(2). + */ +int xrename(const char *oldpath, const char *newpath) +{ + int ret = rename(oldpath, newpath); + + if (ret >= 0) + return 1; + ret = -ERRNO_TO_PARA_ERROR(errno); + PARA_ERROR_LOG("failed to rename %s -> %s\n", oldpath, newpath); + return ret; +} + /** * Write an array of buffers to a file descriptor. * @@ -381,7 +405,7 @@ __must_check int mark_fd_nonblocking(int fd) * This wrapper for FD_SET() passes its first two arguments to \p FD_SET. Upon * return, \a max_fileno contains the maximum of the old_value and \a fd. * - * \sa para_select. + * \sa \ref para_select. */ void para_fd_set(int fd, fd_set *fds, int *max_fileno) { @@ -650,7 +674,7 @@ out: * * \return Standard. * - * \sa munmap(2), mmap_full_file(). + * \sa munmap(2), \ref mmap_full_file(). */ int para_munmap(void *start, size_t length) { @@ -692,8 +716,6 @@ int write_ok(int fd) * * Common approach that opens /dev/null until it gets a file descriptor greater * than two. - * - * \sa okir's Black Hats Manual. */ void valid_fd_012(void) {