Merge pull request #24768 from keszybz/table-not-available-2
Adjust table n/a text in more places
This commit is contained in:
+1
-3
@@ -209,9 +209,7 @@ static int list_bus_names(int argc, char **argv, void *userdata) {
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set alignment: %m");
|
||||
|
||||
r = table_set_empty_string(table, "-");
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set empty string: %m");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
r = table_set_sort(table, (size_t) COLUMN_NAME);
|
||||
if (r < 0)
|
||||
|
||||
@@ -822,7 +822,7 @@ static int dump_list(int argc, char **argv, void *userdata) {
|
||||
(void) table_set_align_percent(t, TABLE_HEADER_CELL(3), 100);
|
||||
(void) table_set_align_percent(t, TABLE_HEADER_CELL(7), 100);
|
||||
|
||||
(void) table_set_empty_string(t, "-");
|
||||
table_set_ersatz_string(t, TABLE_ERSATZ_DASH);
|
||||
} else
|
||||
pager_open(arg_pager_flags);
|
||||
|
||||
|
||||
@@ -570,7 +570,7 @@ static int action_dissect(DissectedImage *m, LoopDevice *d) {
|
||||
if (!t)
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_empty_string(t, "-");
|
||||
table_set_ersatz_string(t, TABLE_ERSATZ_DASH);
|
||||
(void) table_set_align_percent(t, table_get_cell(t, 0, 7), 100);
|
||||
|
||||
for (PartitionDesignator i = 0; i < _PARTITION_DESIGNATOR_MAX; i++) {
|
||||
|
||||
@@ -92,9 +92,7 @@ static int print_status_info(StatusInfo *i) {
|
||||
|
||||
table_set_header(table, false);
|
||||
|
||||
r = table_set_empty_string(table, "n/a");
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_UNSET);
|
||||
|
||||
r = table_add_many(table,
|
||||
TABLE_STRING, "Static hostname:",
|
||||
|
||||
@@ -81,9 +81,7 @@ static int print_status_info(StatusInfo *i) {
|
||||
|
||||
table_set_header(table, false);
|
||||
|
||||
r = table_set_empty_string(table, "n/a");
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_UNSET);
|
||||
|
||||
if (!strv_isempty(kernel_locale)) {
|
||||
log_warning("Warning: Settings on kernel command line override system locale settings in /etc/locale.conf.");
|
||||
|
||||
@@ -277,7 +277,7 @@ static int list_machines(int argc, char *argv[], void *userdata) {
|
||||
if (!table)
|
||||
return log_oom();
|
||||
|
||||
table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
if (!arg_full && arg_max_addresses != ALL_ADDRESSES)
|
||||
table_set_cell_height_max(table, arg_max_addresses);
|
||||
|
||||
|
||||
@@ -817,8 +817,7 @@ static int list_links(int argc, char *argv[], void *userdata) {
|
||||
table_set_width(table, 0);
|
||||
|
||||
table_set_header(table, arg_legend);
|
||||
if (table_set_empty_string(table, "n/a") < 0)
|
||||
return log_oom();
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
assert_se(cell = table_get_cell(table, 0, 0));
|
||||
(void) table_set_minimum_width(table, cell, 3);
|
||||
|
||||
+31
-15
@@ -133,6 +133,8 @@ struct Table {
|
||||
size_t n_cells;
|
||||
|
||||
bool header; /* Whether to show the header row? */
|
||||
TableErsatz ersatz; /* What to show when we have an empty cell or an invalid value that cannot be rendered. */
|
||||
|
||||
size_t width; /* If == 0 format this as wide as necessary. If SIZE_MAX format this to console
|
||||
* width or less wide, but not wider. Otherwise the width to format this table in. */
|
||||
size_t cell_height_max; /* Maximum number of lines per cell. (If there are more, ellipsis is shown. If SIZE_MAX then no limit is set, the default. == 0 is not allowed.) */
|
||||
@@ -149,8 +151,6 @@ struct Table {
|
||||
size_t n_json_fields;
|
||||
|
||||
bool *reverse_map;
|
||||
|
||||
char *empty_string;
|
||||
};
|
||||
|
||||
Table *table_new_raw(size_t n_columns) {
|
||||
@@ -167,6 +167,7 @@ Table *table_new_raw(size_t n_columns) {
|
||||
.header = true,
|
||||
.width = SIZE_MAX,
|
||||
.cell_height_max = SIZE_MAX,
|
||||
.ersatz = TABLE_ERSATZ_EMPTY,
|
||||
};
|
||||
|
||||
return TAKE_PTR(t);
|
||||
@@ -242,7 +243,6 @@ Table *table_unref(Table *t) {
|
||||
free(t->display_map);
|
||||
free(t->sort_map);
|
||||
free(t->reverse_map);
|
||||
free(t->empty_string);
|
||||
|
||||
for (size_t i = 0; i < t->n_json_fields; i++)
|
||||
free(t->json_fields[i]);
|
||||
@@ -1089,10 +1089,26 @@ void table_set_cell_height_max(Table *t, size_t height) {
|
||||
t->cell_height_max = height;
|
||||
}
|
||||
|
||||
int table_set_empty_string(Table *t, const char *empty) {
|
||||
void table_set_ersatz_string(Table *t, TableErsatz ersatz) {
|
||||
assert(t);
|
||||
assert(ersatz >= 0 && ersatz < _TABLE_ERSATZ_MAX);
|
||||
|
||||
return free_and_strdup(&t->empty_string, empty);
|
||||
t->ersatz = ersatz;
|
||||
}
|
||||
|
||||
static const char* table_ersatz_string(const Table *t) {
|
||||
switch (t->ersatz) {
|
||||
case TABLE_ERSATZ_EMPTY:
|
||||
return "";
|
||||
case TABLE_ERSATZ_DASH:
|
||||
return "-";
|
||||
case TABLE_ERSATZ_UNSET:
|
||||
return "(unset)";
|
||||
case TABLE_ERSATZ_NA:
|
||||
return "n/a";
|
||||
default:
|
||||
assert_not_reached();
|
||||
}
|
||||
}
|
||||
|
||||
static int table_set_display_all(Table *t) {
|
||||
@@ -1397,7 +1413,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
|
||||
switch (d->type) {
|
||||
case TABLE_EMPTY:
|
||||
return strempty(t->empty_string);
|
||||
return table_ersatz_string(t);
|
||||
|
||||
case TABLE_STRING:
|
||||
case TABLE_PATH:
|
||||
@@ -1418,7 +1434,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
|
||||
case TABLE_STRV:
|
||||
if (strv_isempty(d->strv))
|
||||
return strempty(t->empty_string);
|
||||
return table_ersatz_string(t);
|
||||
|
||||
d->formatted = strv_join(d->strv, "\n");
|
||||
if (!d->formatted)
|
||||
@@ -1427,7 +1443,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
|
||||
case TABLE_STRV_WRAPPED: {
|
||||
if (strv_isempty(d->strv))
|
||||
return strempty(t->empty_string);
|
||||
return table_ersatz_string(t);
|
||||
|
||||
char *buf = format_strv_width(d->strv, column_width);
|
||||
if (!buf)
|
||||
@@ -1494,7 +1510,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
return NULL;
|
||||
|
||||
if (!format_bytes(p, FORMAT_BYTES_MAX, d->size))
|
||||
return "-";
|
||||
return table_ersatz_string(t);
|
||||
|
||||
d->formatted = TAKE_PTR(p);
|
||||
break;
|
||||
@@ -1509,7 +1525,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
return NULL;
|
||||
|
||||
if (!format_bytes_full(p, FORMAT_BYTES_MAX, d->size, 0))
|
||||
return "-";
|
||||
return table_ersatz_string(t);
|
||||
|
||||
n = strlen(p);
|
||||
strscpy(p + n, FORMAT_BYTES_MAX + 2 - n, "bps");
|
||||
@@ -1710,7 +1726,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
char *p;
|
||||
|
||||
if (!uid_is_valid(d->uid))
|
||||
return "-";
|
||||
return table_ersatz_string(t);
|
||||
|
||||
p = new(char, DECIMAL_STR_WIDTH(d->uid) + 1);
|
||||
if (!p)
|
||||
@@ -1725,7 +1741,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
char *p;
|
||||
|
||||
if (!gid_is_valid(d->gid))
|
||||
return "-";
|
||||
return table_ersatz_string(t);
|
||||
|
||||
p = new(char, DECIMAL_STR_WIDTH(d->gid) + 1);
|
||||
if (!p)
|
||||
@@ -1740,7 +1756,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
char *p;
|
||||
|
||||
if (!pid_is_valid(d->pid))
|
||||
return "-";
|
||||
return table_ersatz_string(t);
|
||||
|
||||
p = new(char, DECIMAL_STR_WIDTH(d->pid) + 1);
|
||||
if (!p)
|
||||
@@ -1757,7 +1773,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
|
||||
suffix = signal_to_string(d->int_val);
|
||||
if (!suffix)
|
||||
return "-";
|
||||
return table_ersatz_string(t);
|
||||
|
||||
p = strjoin("SIG", suffix);
|
||||
if (!p)
|
||||
@@ -1771,7 +1787,7 @@ static const char *table_data_format(Table *t, TableData *d, bool avoid_uppercas
|
||||
char *p;
|
||||
|
||||
if (d->mode == MODE_INVALID)
|
||||
return "-";
|
||||
return table_ersatz_string(t);
|
||||
|
||||
p = new(char, 4 + 1);
|
||||
if (!p)
|
||||
|
||||
@@ -64,6 +64,14 @@ typedef enum TableDataType {
|
||||
_TABLE_DATA_TYPE_INVALID = -EINVAL,
|
||||
} TableDataType;
|
||||
|
||||
typedef enum TableErsatz {
|
||||
TABLE_ERSATZ_EMPTY,
|
||||
TABLE_ERSATZ_DASH,
|
||||
TABLE_ERSATZ_UNSET,
|
||||
TABLE_ERSATZ_NA,
|
||||
_TABLE_ERSATZ_MAX,
|
||||
} TableErsatz;
|
||||
|
||||
typedef struct Table Table;
|
||||
typedef struct TableCell TableCell;
|
||||
|
||||
@@ -102,7 +110,7 @@ int table_add_many_internal(Table *t, TableDataType first_type, ...);
|
||||
void table_set_header(Table *table, bool b);
|
||||
void table_set_width(Table *t, size_t width);
|
||||
void table_set_cell_height_max(Table *t, size_t height);
|
||||
int table_set_empty_string(Table *t, const char *empty);
|
||||
void table_set_ersatz_string(Table *t, TableErsatz ersatz);
|
||||
int table_set_display_internal(Table *t, size_t first_column, ...);
|
||||
#define table_set_display(...) table_set_display_internal(__VA_ARGS__, SIZE_MAX)
|
||||
int table_set_sort_internal(Table *t, size_t first_column, ...);
|
||||
|
||||
+1
-1
@@ -166,7 +166,7 @@ static int verb_status(int argc, char **argv, void *userdata) {
|
||||
if (!t)
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_empty_string(t, "-");
|
||||
table_set_ersatz_string(t, TABLE_ERSATZ_DASH);
|
||||
|
||||
STRV_FOREACH(p, arg_hierarchies) {
|
||||
_cleanup_free_ char *resolved = NULL, *f = NULL, *buf = NULL;
|
||||
|
||||
@@ -83,7 +83,7 @@ static int output_jobs_list(sd_bus *bus, const struct job_info* jobs, unsigned n
|
||||
if (arg_full)
|
||||
table_set_width(table, 0);
|
||||
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (const struct job_info *j = jobs; j < jobs + n; j++) {
|
||||
if (streq(j->state, "running"))
|
||||
|
||||
@@ -171,7 +171,7 @@ static int output_machines_list(struct machine_info *machine_infos, unsigned n)
|
||||
if (arg_full)
|
||||
table_set_width(table, 0);
|
||||
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (struct machine_info *m = machine_infos; m < machine_infos + n; m++) {
|
||||
_cleanup_free_ char *mname = NULL;
|
||||
|
||||
@@ -62,7 +62,7 @@ static int output_unit_file_list(const UnitFileList *units, unsigned c) {
|
||||
if (arg_full)
|
||||
table_set_width(table, 0);
|
||||
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (const UnitFileList *u = units; u < units + c; u++) {
|
||||
const char *on_underline = NULL, *on_unit_color = NULL, *id;
|
||||
|
||||
@@ -120,7 +120,7 @@ static int output_units_list(const UnitInfo *unit_infos, size_t c) {
|
||||
if (arg_full)
|
||||
table_set_width(table, 0);
|
||||
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (const UnitInfo *u = unit_infos; unit_infos && (size_t) (u - unit_infos) < c; u++) {
|
||||
_cleanup_free_ char *j = NULL;
|
||||
@@ -381,7 +381,7 @@ static int output_sockets_list(struct socket_info *socket_infos, size_t cs) {
|
||||
if (arg_full)
|
||||
table_set_width(table, 0);
|
||||
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (struct socket_info *s = socket_infos; s < socket_infos + cs; s++) {
|
||||
_cleanup_free_ char *j = NULL;
|
||||
@@ -612,7 +612,7 @@ static int output_timers_list(struct timer_info *timer_infos, size_t n) {
|
||||
if (arg_full)
|
||||
table_set_width(table, 0);
|
||||
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (struct timer_info *t = timer_infos; t < timer_infos + n; t++) {
|
||||
_cleanup_free_ char *j = NULL, *activates = NULL;
|
||||
@@ -844,7 +844,7 @@ static int output_automounts_list(struct automount_info *infos, size_t n_infos)
|
||||
if (arg_full)
|
||||
table_set_width(table, 0);
|
||||
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
|
||||
for (struct automount_info *info = infos; info < infos + n_infos; info++) {
|
||||
_cleanup_free_ char *j = NULL;
|
||||
|
||||
@@ -510,7 +510,7 @@ static int context_show_version(Context *c, const char *version) {
|
||||
(void) table_set_align_percent(t, table_get_cell(t, 0, 6), 100);
|
||||
(void) table_set_align_percent(t, table_get_cell(t, 0, 7), 100);
|
||||
(void) table_set_align_percent(t, table_get_cell(t, 0, 8), 100);
|
||||
(void) table_set_empty_string(t, "-");
|
||||
table_set_ersatz_string(t, TABLE_ERSATZ_DASH);
|
||||
|
||||
/* Determine if the target will make use of partition/fs attributes for any of the transfers */
|
||||
for (size_t n = 0; n < c->n_transfers; n++) {
|
||||
|
||||
@@ -354,7 +354,7 @@ static int display_user(int argc, char *argv[], void *userdata) {
|
||||
|
||||
(void) table_set_align_percent(table, table_get_cell(table, 0, 3), 100);
|
||||
(void) table_set_align_percent(table, table_get_cell(table, 0, 4), 100);
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
(void) table_set_sort(table, (size_t) 3, (size_t) 8);
|
||||
(void) table_set_display(table, (size_t) 0, (size_t) 1, (size_t) 2, (size_t) 3, (size_t) 4, (size_t) 5, (size_t) 6, (size_t) 7);
|
||||
}
|
||||
@@ -657,7 +657,7 @@ static int display_group(int argc, char *argv[], void *userdata) {
|
||||
return log_oom();
|
||||
|
||||
(void) table_set_align_percent(table, table_get_cell(table, 0, 3), 100);
|
||||
(void) table_set_empty_string(table, "-");
|
||||
table_set_ersatz_string(table, TABLE_ERSATZ_DASH);
|
||||
(void) table_set_sort(table, (size_t) 3, (size_t) 5);
|
||||
(void) table_set_display(table, (size_t) 0, (size_t) 1, (size_t) 2, (size_t) 3, (size_t) 4);
|
||||
}
|
||||
|
||||
@@ -1047,8 +1047,8 @@ class NetworkctlTests(unittest.TestCase, Utilities):
|
||||
|
||||
output = check_output(*networkctl_cmd, '-n', '0', 'status', 'lo', env=env)
|
||||
print(output)
|
||||
self.assertRegex(output, r'Link File: n/a')
|
||||
self.assertRegex(output, r'Network File: n/a')
|
||||
self.assertRegex(output, r'Link File: -')
|
||||
self.assertRegex(output, r'Network File: -')
|
||||
|
||||
def test_delete_links(self):
|
||||
copy_network_unit('11-dummy.netdev', '11-dummy.network',
|
||||
|
||||
@@ -251,7 +251,7 @@ test_vc_keymap() {
|
||||
assert_in "X11 Variant: intl" "$output"
|
||||
assert_in "X11 Options: terminate:ctrl_alt_bksp" "$output"
|
||||
elif [[ "$i" =~ ^us-.* ]]; then
|
||||
assert_in "X11 Layout: n/a" "$output"
|
||||
assert_in "X11 Layout: .unset." "$output"
|
||||
assert_not_in "X11 Model:" "$output"
|
||||
assert_not_in "X11 Variant:" "$output"
|
||||
assert_not_in "X11 Options:" "$output"
|
||||
@@ -262,7 +262,7 @@ test_vc_keymap() {
|
||||
systemctl stop systemd-localed.service
|
||||
wait_vconsole_setup
|
||||
rm -f /etc/vconsole.conf
|
||||
assert_in "VC Keymap: n/a" "$(localectl)"
|
||||
assert_in "VC Keymap: .unset." "$(localectl)"
|
||||
}
|
||||
|
||||
test_x11_keymap() {
|
||||
@@ -374,7 +374,7 @@ XKBMODEL=pc105+inet"
|
||||
systemctl stop systemd-localed.service
|
||||
rm -f /etc/X11/xorg.conf.d/00-keyboard.conf /etc/default/keyboard
|
||||
output=$(localectl)
|
||||
assert_in "X11 Layout: n/a" "$output"
|
||||
assert_in "X11 Layout: .unset." "$output"
|
||||
assert_not_in "X11 Model:" "$output"
|
||||
assert_not_in "X11 Variant:" "$output"
|
||||
assert_not_in "X11 Options:" "$output"
|
||||
|
||||
Reference in New Issue
Block a user