static char *sccsid
= "@(#)whereis.c 4.1 (Berkeley) %G%";
static char *bindirs
[] = {
static char *mandirs
[] = {
static char *srcdirs
[] = {
"/usr/src/cmd/UNSUPPORTED",
* look for source, documentation and binaries
if (((getuid() >> 8) & 0377) > 10)
fprintf(stderr
, "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n");
register char *cp
= argv
[0] + 1;
while (*cp
) switch (*cp
++) {
getlist(&argc
, &argv
, &Sflag
, &Scnt
);
getlist(&argc
, &argv
, &Bflag
, &Bcnt
);
getlist(&argc
, &argv
, &Mflag
, &Mcnt
);
getlist(argcp
, argvp
, flagp
, cntp
)
for ((*argcp
)--; *argcp
> 0 && (*argvp
)[0][0] != '-'; (*argcp
)--)
if (sflag
&& bflag
&& mflag
)
sflag
= bflag
= mflag
= 0;
if (uflag
&& print
== 0 && count
!= 1) {
if (uflag
&& print
== 0 && count
!= 1) {
if (uflag
&& print
== 0 && count
!= 1) {
findin(*dirv
++, cp
), dirc
--;
while (fread(&direct
, sizeof direct
, 1, d
) == 1) {
if (itsit(cp
, direct
.d_name
)) {
printf(" %s/%.14s", dir
, direct
.d_name
);
if (dp
[0] == 's' && dp
[1] == '.' && itsit(cp
, dp
+2))
while (*cp
&& *dp
&& *cp
== *dp
)
if (*cp
== 0 && *dp
== 0)
if (*cp
== 0 && *dp
++ == '.') {
return (*dp
++ == 'C' && *dp
++ == 0);