From 117ddbeedc02bfc93f6776ca27c3a5501bd718e5 Mon Sep 17 00:00:00 2001 From: Samanta Navarro Date: Wed, 4 Nov 2020 11:37:00 +0000 Subject: [PATCH] whereis: do not strip suffixes The whereis implementations of FreeBSD, macOS, NetBSD, and OpenBSD do not strip suffixes. Although whereis is not a POSIX tool and has no shared standard, even its manual page indicates that the supplied names are command names. Commands do not have a suffix on Linux systems. Stripping suffixes actually leads to issues with tools like fsck.ext4, since fsck.ext4 is not the same tool as fsck and definitely not the same tool as fsck.minix. Signed-off-by: Samanta Navarro --- misc-utils/whereis.1 | 6 +----- misc-utils/whereis.c | 3 --- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/misc-utils/whereis.1 b/misc-utils/whereis.1 index 08e351cec..2ecc70f21 100644 --- a/misc-utils/whereis.1 +++ b/misc-utils/whereis.1 @@ -42,11 +42,7 @@ whereis \- locate the binary, source, and manual page files for a command .SH DESCRIPTION .B whereis locates the binary, source and manual files for the specified command names. -The supplied names are first stripped of leading pathname components and any -(single) trailing extension of the form -.BI . ext -(for example: -.BR .c ) +The supplied names are first stripped of leading pathname components. Prefixes of .B s. resulting from use of source code control are also dealt with. diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c index e3e480bdc..d94e25a58 100644 --- a/misc-utils/whereis.c +++ b/misc-utils/whereis.c @@ -469,9 +469,6 @@ static void lookup(const char *pattern, struct wh_dirlist *ls, int want) want & BIN_DIR ? "bin" : "", want & MAN_DIR ? "man" : "", want & SRC_DIR ? "src" : "")); - p = strrchr(patbuf, '.'); - if (p) - *p = '\0'; if (!uflag) /* if -u not specified then we always print the pattern */