From: Sami Kerola <kerolasa@iki.fi>
To: util-linux@vger.kernel.org
Cc: kerolasa@iki.fi
Subject: [PATCH 2/7] whereis: add search scope listing option
Date: Sat, 16 Mar 2013 23:40:14 +0000 [thread overview]
Message-ID: <1363477219-29245-3-git-send-email-kerolasa@iki.fi> (raw)
In-Reply-To: <1363477219-29245-1-git-send-email-kerolasa@iki.fi>
Mostly useful when debugging why the command does, or does not, work.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
---
misc-utils/whereis.1 | 11 ++++++++++-
misc-utils/whereis.c | 28 ++++++++++++++++++++++++++++
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git a/misc-utils/whereis.1 b/misc-utils/whereis.1
index 86e6a39..9b33999 100644
--- a/misc-utils/whereis.1
+++ b/misc-utils/whereis.1
@@ -91,7 +91,16 @@ be used when any of the
or
.BR \-S
options is used.
-
+.IP "\fB\-l"
+Output list of effective lookup paths the
+.B whereis
+is using. When non of
+.BR \-B ,
+.BR \-M ,
+or
+.BR \-S
+is specified the option will out hard coded paths that the command was
+able to find on system.
.SH EXAMPLE
To find all files in
.B /usr/bin
diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c
index eeec976..f579e29 100644
--- a/misc-utils/whereis.c
+++ b/misc-utils/whereis.c
@@ -167,6 +167,7 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
" -s search only for sources\n"
" -S <dirs> define sources lookup path\n"
" -u search for unusual entries\n"
+ " -l output effective lookup paths\n"
" -V output version information and exit\n"
" -h display this help and exit\n\n"), out);
@@ -387,6 +388,29 @@ static void lookup(char *argv, struct is_here *dirlist, int flags)
return;
}
+static void list_search_dir(struct is_here *dirlist)
+{
+ while (dirlist) {
+ if (dirlist->path != NULL) {
+ switch (dirlist->type) {
+ case BIN_DIR:
+ printf("bin: ");
+ break;
+ case MAN_DIR:
+ printf("man: ");
+ break;
+ case SRC_DIR:
+ printf("src: ");
+ break;
+ default:
+ abort();
+ }
+ printf("%s\n", dirlist->path);
+ }
+ dirlist = dirlist->next;
+ }
+}
+
int main(int argc, char **argv)
{
struct is_here *dirlist;
@@ -456,6 +480,10 @@ int main(int argc, char **argv)
flags |= SRC_BIT;
continue;
+ case 'l':
+ list_search_dir(dirlist);
+ continue;
+
case 'V':
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;
--
1.8.2
next prev parent reply other threads:[~2013-03-16 23:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-16 23:40 [PATCH 0/7] pull: whereis changes Sami Kerola
2013-03-16 23:40 ` [PATCH 1/7] whereis: rewrite most of the command Sami Kerola
2013-03-16 23:40 ` Sami Kerola [this message]
2013-03-16 23:40 ` [PATCH 3/7] whereis: align with howto-usage-function.txt Sami Kerola
2013-03-16 23:40 ` [PATCH 4/7] whereis: support MANPATH environment variable Sami Kerola
2013-03-16 23:40 ` [PATCH 5/7] docs: generic whereis.1 clean up Sami Kerola
2013-03-16 23:40 ` [PATCH 6/7] whereis: canonicalize files before printing Sami Kerola
2013-03-20 12:56 ` Karel Zak
2013-03-20 14:03 ` Sami Kerola
2013-03-16 23:40 ` [PATCH 7/7] whereis: remove duplicates from search results Sami Kerola
2013-03-20 12:59 ` Karel Zak
2013-03-17 9:23 ` [PATCH 0/7] pull: whereis changes Sami Kerola
2013-03-20 13:02 ` Karel Zak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1363477219-29245-3-git-send-email-kerolasa@iki.fi \
--to=kerolasa@iki.fi \
--cc=util-linux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox