diff options
author | Mike Frysinger <vapier@gentoo.org> | 2014-03-16 02:22:38 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-03-16 02:22:38 -0400 |
commit | 8e5479494a1df4b326ca9715ee72897d2b98b06f (patch) | |
tree | 5d4ff8fcadd5243612c26c2f90de8579a96a505d /q.c | |
parent | qlist: fix processing of IUSE (diff) | |
download | portage-utils-8e5479494a1df4b326ca9715ee72897d2b98b06f.tar.gz portage-utils-8e5479494a1df4b326ca9715ee72897d2b98b06f.tar.bz2 portage-utils-8e5479494a1df4b326ca9715ee72897d2b98b06f.zip |
q: fix up --install a little
Update the outdated chdir error message, and use O_PATH with the dirfd.
Diffstat (limited to 'q.c')
-rw-r--r-- | q.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -95,7 +95,7 @@ int q_main(int argc, char **argv) if (install) { char buf[_Q_PATH_MAX]; - const char *prog; + const char *prog, *dir; ssize_t rret; int fd, ret; @@ -115,9 +115,10 @@ int q_main(int argc, char **argv) buf[rret] = '\0'; prog = basename(buf); - fd = open(dirname(buf), O_RDONLY|O_CLOEXEC); + dir = dirname(buf); + fd = open(dir, O_RDONLY|O_CLOEXEC|O_PATH); if (fd < 0) { - warnfp("chdir(%s) failed", buf); + warnfp("open(%s) failed", dir); return 1; } |