X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fd.c;h=6a26ce5e3d4d5f2993affc76a544e96db1a5738c;hp=ceff71f584545bb6356d38129c436e8d393fe38c;hb=a13a1e0d202a8969374b9a70562556e689597f2d;hpb=f167629b3191c57a6b691cd2a6af04a45a74ccb0 diff --git a/fd.c b/fd.c index ceff71f5..6a26ce5e 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. *