From c2a44fbe073fb13ab9407ac3a072c7b847383b62 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 14 Dec 2018 21:22:10 -0600 Subject: Add xrename() --- lib/lib.c | 2 +- lib/lib.h | 1 + lib/xwrap.c | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/lib.c b/lib/lib.c index 11acba0d..ad85dc63 100644 --- a/lib/lib.c +++ b/lib/lib.c @@ -747,7 +747,7 @@ void replace_tempfile(int fdin, int fdout, char **tempname) xclose(fdin); } xclose(fdout); - rename(*tempname, temp); + xrename(*tempname, temp); tempfile2zap = (char *)1; free(*tempname); free(temp); diff --git a/lib/lib.h b/lib/lib.h index 6dc2ca2b..5d806508 100644 --- a/lib/lib.h +++ b/lib/lib.h @@ -138,6 +138,7 @@ int xrun(char **argv); int xpspawn(char **argv, int*pipes); void xaccess(char *path, int flags); void xunlink(char *path); +void xrename(char *from, char *to); int xtempfile(char *name, char **tempname); int xcreate(char *path, int flags, int mode); int xopen(char *path, int flags); diff --git a/lib/xwrap.c b/lib/xwrap.c index 2027069d..b2416a4e 100644 --- a/lib/xwrap.c +++ b/lib/xwrap.c @@ -378,6 +378,11 @@ int notstdio(int fd) return fd; } +void xrename(char *from, char *to) +{ + if (rename(from, to)) perror_exit("rename %s -> %s", from, to); +} + int xtempfile(char *name, char **tempname) { int fd; -- cgit v1.2.3