mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 09:10:28 +00:00
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:
parent
3f169c54ab
commit
946585179d
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue