aboutsummaryrefslogtreecommitdiff
path: root/libbb/xfuncs.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-02-17 14:28:53 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-02-17 14:28:53 +0000
commitcb448fe01bbe75ef31c3190e8b63b0e1a320ffb4 (patch)
tree9757477193c1b8f3be9a772cabfb1ef92639240e /libbb/xfuncs.c
parentffae845cfd0a0b9872827d806984841d4cfee104 (diff)
downloadbusybox-cb448fe01bbe75ef31c3190e8b63b0e1a320ffb4.tar.gz
libbb: introduce and use xrename and rename_or_warn.
Diffstat (limited to 'libbb/xfuncs.c')
-rw-r--r--libbb/xfuncs.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/libbb/xfuncs.c b/libbb/xfuncs.c
index 8dd414d6a..b4c059f20 100644
--- a/libbb/xfuncs.c
+++ b/libbb/xfuncs.c
@@ -146,18 +146,32 @@ int open_or_warn(const char *pathname, int flags)
return open3_or_warn(pathname, flags, 0666);
}
-void xpipe(int filedes[2])
-{
- if (pipe(filedes))
- bb_perror_msg_and_die("can't create pipe");
-}
-
void xunlink(const char *pathname)
{
if (unlink(pathname))
bb_perror_msg_and_die("can't remove file '%s'", pathname);
}
+void xrename(const char *oldpath, const char *newpath)
+{
+ if (rename(oldpath, newpath))
+ bb_perror_msg_and_die("can't move '%s' to '%s'", oldpath, newpath);
+}
+
+int rename_or_warn(const char *oldpath, const char *newpath)
+{
+ int n = rename(oldpath, newpath);
+ if (n)
+ bb_perror_msg("can't move '%s' to '%s'", oldpath, newpath);
+ return n;
+}
+
+void xpipe(int filedes[2])
+{
+ if (pipe(filedes))
+ bb_perror_msg_and_die("can't create pipe");
+}
+
// Turn on nonblocking I/O on a fd
int ndelay_on(int fd)
{