aboutsummaryrefslogtreecommitdiff
path: root/q.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2014-03-16 02:22:38 -0400
committerMike Frysinger <vapier@gentoo.org>2014-03-16 02:22:38 -0400
commit8e5479494a1df4b326ca9715ee72897d2b98b06f (patch)
tree5d4ff8fcadd5243612c26c2f90de8579a96a505d /q.c
parentqlist: fix processing of IUSE (diff)
downloadportage-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.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/q.c b/q.c
index 849f7ad0..394a035c 100644
--- a/q.c
+++ b/q.c
@@ -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;
}