mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-02 08:42:48 +00:00
bectl(8): Fix output of bectl list
for the 'Mountpoint' column.
Currently, the output of `bectl list` doesn't align the 'Mountpoint' column correctly when the 'mounted' property of a boot environment dataset is longer than the default column width. Set the 'Mountpoint' column width to the boot environment dataset with the longest 'mounted' property or to the default width, whichever is greater. PR: 241064 Reported by: vermaden@interia.pl Reviewed by: kevans (mentor) Approved by: kevans (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D26048
This commit is contained in:
parent
eeed0c98a1
commit
deaff65313
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=364369
@ -292,19 +292,23 @@ print_headers(nvlist_t *props, struct printc *pc)
|
||||
nvpair_t *cur;
|
||||
nvlist_t *dsprops;
|
||||
char *propstr;
|
||||
size_t be_maxcol;
|
||||
size_t be_maxcol, mount_colsz;
|
||||
|
||||
if (pc->show_all_datasets || pc->show_snaps)
|
||||
chosen_be_header = HEADER_BEPLUS;
|
||||
else
|
||||
chosen_be_header = HEADER_BE;
|
||||
be_maxcol = strlen(chosen_be_header);
|
||||
mount_colsz = strlen(HEADER_MOUNT);
|
||||
for (cur = nvlist_next_nvpair(props, NULL); cur != NULL;
|
||||
cur = nvlist_next_nvpair(props, cur)) {
|
||||
be_maxcol = MAX(be_maxcol, strlen(nvpair_name(cur)));
|
||||
nvpair_value_nvlist(cur, &dsprops);
|
||||
|
||||
if (nvlist_lookup_string(dsprops, "mounted", &propstr) == 0)
|
||||
mount_colsz = MAX(mount_colsz, strlen(propstr));
|
||||
if (!pc->show_all_datasets && !pc->show_snaps)
|
||||
continue;
|
||||
nvpair_value_nvlist(cur, &dsprops);
|
||||
if (nvlist_lookup_string(dsprops, "dataset", &propstr) != 0)
|
||||
continue;
|
||||
be_maxcol = MAX(be_maxcol, strlen(propstr) + INDENT_INCREMENT);
|
||||
@ -316,10 +320,10 @@ print_headers(nvlist_t *props, struct printc *pc)
|
||||
|
||||
pc->be_colsz = be_maxcol;
|
||||
pc->active_colsz_def = strlen(HEADER_ACTIVE);
|
||||
pc->mount_colsz = strlen(HEADER_MOUNT);
|
||||
pc->mount_colsz = mount_colsz;
|
||||
pc->space_colsz = strlen(HEADER_SPACE);
|
||||
printf("%*s %s %s %s %s\n", -pc->be_colsz, chosen_be_header,
|
||||
HEADER_ACTIVE, HEADER_MOUNT, HEADER_SPACE, HEADER_CREATED);
|
||||
printf("%*s %s %*s %s %s\n", -pc->be_colsz, chosen_be_header,
|
||||
HEADER_ACTIVE, -pc->mount_colsz, HEADER_MOUNT, HEADER_SPACE, HEADER_CREATED);
|
||||
|
||||
/*
|
||||
* All other invocations in which we aren't using the default header
|
||||
|
Loading…
Reference in New Issue
Block a user