summaryrefslogtreecommitdiffstats
path: root/misc-utils/whereis.c
diff options
context:
space:
mode:
authorKarel Zak2011-08-30 11:44:15 +0200
committerKarel Zak2011-08-30 11:44:15 +0200
commit4ff826f68a7d9bd1239644ab53be9b81fc8b7a37 (patch)
treec1116e35aac6c2e3c2aed51d63b58e9a501608b5 /misc-utils/whereis.c
parentwhereis: search in path (diff)
downloadkernel-qcow2-util-linux-4ff826f68a7d9bd1239644ab53be9b81fc8b7a37.tar.gz
kernel-qcow2-util-linux-4ff826f68a7d9bd1239644ab53be9b81fc8b7a37.tar.xz
kernel-qcow2-util-linux-4ff826f68a7d9bd1239644ab53be9b81fc8b7a37.zip
whereis: search in path for binaries only
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/whereis.c')
-rw-r--r--misc-utils/whereis.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c
index 90f7b906c..03ea95e43 100644
--- a/misc-utils/whereis.c
+++ b/misc-utils/whereis.c
@@ -299,8 +299,6 @@ findv(char **dirv, int dirc, char *cp)
while (dirc > 0)
findin(*dirv++, cp), dirc--;
- while (*dirp)
- findin(*dirp++, cp);
}
static void
@@ -315,9 +313,11 @@ looksrc(char *cp)
static void
lookbin(char *cp)
{
- if (Bflag == 0)
+ if (Bflag == 0) {
findv(bindirs, ARRAY_SIZE(bindirs)-1, cp);
- else
+ while (*dirp)
+ findin(*dirp++, cp); /* look $PATH */
+ } else
findv(Bflag, Bcnt, cp);
}
@@ -424,8 +424,6 @@ main(int argc, char **argv)
if (argc == 0)
usage(stderr);
- fillpath();
-
do
if (argv[0][0] == '-') {
register char *cp = argv[0] + 1;
@@ -475,8 +473,11 @@ main(int argc, char **argv)
usage(stderr);
}
argv++;
- } else
+ } else {
+ if (Bcnt == 0 && pathdir == NULL)
+ fillpath();
lookup(*argv++);
+ }
while (--argc > 0);
freepath();