aboutsummaryrefslogtreecommitdiff
path: root/toys
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2018-04-08 22:12:08 -0500
committerRob Landley <rob@landley.net>2018-04-08 22:12:08 -0500
commit221439164eb6683a5af35540b24b5620e5d8ab19 (patch)
tree5460bd0d03042863cb6b3ddf12a9473c84da8689 /toys
parentcd3f81ebe5c82f1fd5f610b0f2e0fa07ac27903e (diff)
downloadtoybox-221439164eb6683a5af35540b24b5620e5d8ab19.tar.gz
Add mkpath() for common case of mkpathat(), and #define magic constants.
Diffstat (limited to 'toys')
-rw-r--r--toys/pending/mdev.c3
-rw-r--r--toys/pending/tar.c2
-rw-r--r--toys/posix/cpio.c2
-rw-r--r--toys/posix/patch.c3
4 files changed, 4 insertions, 6 deletions
diff --git a/toys/pending/mdev.c b/toys/pending/mdev.c
index 9ee1f642..cab51e11 100644
--- a/toys/pending/mdev.c
+++ b/toys/pending/mdev.c
@@ -187,8 +187,7 @@ found_device:
return;
}
- if (strchr(device_name, '/'))
- mkpathat(AT_FDCWD, toybuf, 0, 2);
+ if (strchr(device_name, '/')) mkpath(toybuf);
if (mknod(toybuf, mode | type, dev_makedev(major, minor)) && errno != EEXIST)
perror_exit("mknod %s failed", toybuf);
diff --git a/toys/pending/tar.c b/toys/pending/tar.c
index 4d6979db..c2946225 100644
--- a/toys/pending/tar.c
+++ b/toys/pending/tar.c
@@ -378,7 +378,7 @@ static void extract_to_disk(struct archive_handler *tar)
if (file_hdr->name[flags-1] == '/') file_hdr->name[flags-1] = 0;
//Regular file with preceding path
if ((s = strrchr(file_hdr->name, '/'))) {
- if (mkpathat(AT_FDCWD, file_hdr->name, 00, 2) && errno !=EEXIST) {
+ if (mkpath(file_hdr->name) && errno !=EEXIST) {
error_msg(":%s: not created", file_hdr->name);
return;
}
diff --git a/toys/posix/cpio.c b/toys/posix/cpio.c
index 90c8107f..6ce3ef1c 100644
--- a/toys/posix/cpio.c
+++ b/toys/posix/cpio.c
@@ -134,7 +134,7 @@ void cpio_main(void)
if (toys.optflags & (FLAG_t|FLAG_v)) puts(name);
- if (!test && strrchr(name, '/') && mkpathat(AT_FDCWD, name, 0, 2)) {
+ if (!test && strrchr(name, '/') && mkpath(name)) {
perror_msg("mkpath '%s'", name);
test++;
}
diff --git a/toys/posix/patch.c b/toys/posix/patch.c
index fbad1fb9..181af2a1 100644
--- a/toys/posix/patch.c
+++ b/toys/posix/patch.c
@@ -397,8 +397,7 @@ void patch_main(void)
if ((!strcmp(oldname, "/dev/null") || !oldsum) && access(name, F_OK))
{
printf("creating %s\n", name);
- if (mkpathat(AT_FDCWD, name, 0, 2))
- perror_exit("mkpath %s", name);
+ if (mkpath(name)) perror_exit("mkpath %s", name);
TT.filein = xcreate(name, O_CREAT|O_EXCL|O_RDWR, 0666);
} else {
printf("patching %s\n", name);