lsvfs: restyle, no functional change

Namely:
- main was using two-space indentation
- re-sort local variables
- explicit braces for loop scope
- make flag bit comparison explicit

The first line of this commit message is unfortunately a lie, as it
introduces a minor functional change on non-FreeBSD systems.  Namely,
the first branch is now explicitly compared against `0` and the choice
was made to compare it as greater than 0 to avoid issues on other
systems where `argc != 0` on entry isn't guaranteed (negative when
checked there).

Sponsored by:	Klara, Inc.
This commit is contained in:
Kyle Evans 2022-02-10 11:20:24 -06:00
parent 3f169c54ab
commit 946585179d

View file

@ -41,42 +41,44 @@ static const char *fmt_flags(int);
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
int cnt, rv = 0, i; struct xvfsconf vfc, *xvfsp;
struct xvfsconf vfc, *xvfsp; size_t buflen;
size_t buflen; int cnt, i, rv = 0;
argc--, argv++;
printf(HDRFMT, "Filesystem", "Num", "Refs", "Flags"); argc--, argv++;
fputs(DASHES, stdout);
if(argc) { printf(HDRFMT, "Filesystem", "Num", "Refs", "Flags");
for(; argc; argc--, argv++) { fputs(DASHES, stdout);
if (getvfsbyname(*argv, &vfc) == 0) {
printf(FMT, vfc.vfc_name, vfc.vfc_typenum, vfc.vfc_refcount,
fmt_flags(vfc.vfc_flags));
} else {
warnx("VFS %s unknown or not loaded", *argv);
rv++;
}
}
} else {
if (sysctlbyname("vfs.conflist", NULL, &buflen, NULL, 0) < 0)
err(1, "sysctl(vfs.conflist)");
xvfsp = malloc(buflen);
if (xvfsp == NULL)
errx(1, "malloc failed");
if (sysctlbyname("vfs.conflist", xvfsp, &buflen, NULL, 0) < 0)
err(1, "sysctl(vfs.conflist)");
cnt = buflen / sizeof(struct xvfsconf);
for (i = 0; i < cnt; i++) { if (argc > 0) {
printf(FMT, xvfsp[i].vfc_name, xvfsp[i].vfc_typenum, for(; argc > 0; argc--, argv++) {
xvfsp[i].vfc_refcount, fmt_flags(xvfsp[i].vfc_flags)); if (getvfsbyname(*argv, &vfc) == 0) {
} printf(FMT, vfc.vfc_name, vfc.vfc_typenum,
free(xvfsp); vfc.vfc_refcount, fmt_flags(vfc.vfc_flags));
} } else {
warnx("VFS %s unknown or not loaded", *argv);
rv++;
}
}
} else {
if (sysctlbyname("vfs.conflist", NULL, &buflen, NULL, 0) < 0)
err(1, "sysctl(vfs.conflist)");
xvfsp = malloc(buflen);
if (xvfsp == NULL)
errx(1, "malloc failed");
if (sysctlbyname("vfs.conflist", xvfsp, &buflen, NULL, 0) < 0)
err(1, "sysctl(vfs.conflist)");
cnt = buflen / sizeof(struct xvfsconf);
return rv; for (i = 0; i < cnt; i++) {
printf(FMT, xvfsp[i].vfc_name, xvfsp[i].vfc_typenum,
xvfsp[i].vfc_refcount,
fmt_flags(xvfsp[i].vfc_flags));
}
free(xvfsp);
}
return (rv);
} }
static const char * static const char *
@ -86,11 +88,14 @@ fmt_flags(int flags)
int i; int i;
buf[0] = '\0'; buf[0] = '\0';
for (i = 0; i < (int)nitems(fl); i++) for (i = 0; i < (int)nitems(fl); i++) {
if (flags & fl[i].flag) { if ((flags & fl[i].flag) != 0) {
strlcat(buf, fl[i].str, sizeof(buf)); strlcat(buf, fl[i].str, sizeof(buf));
strlcat(buf, ", ", sizeof(buf)); strlcat(buf, ", ", sizeof(buf));
} }
}
/* Zap the trailing comma + space. */
if (buf[0] != '\0') if (buf[0] != '\0')
buf[strlen(buf) - 2] = '\0'; buf[strlen(buf) - 2] = '\0';
return (buf); return (buf);