diff options
author | Thomas Haller <thaller@redhat.com> | 2017-03-30 13:02:24 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-03-30 13:09:59 +0200 |
commit | 98ce4a8d5d59dc3daf28e98ba74f8bed24d69ef7 (patch) | |
tree | f8bc7e98f97143f76fb817604d5d6dfd61bef396 | |
parent | e847d0f121feb29fb55b6d632e2b5b4e48916989 (diff) | |
download | NetworkManager-98ce4a8d5d59dc3daf28e98ba74f8bed24d69ef7.tar.gz |
cli: separate input and in-out arguments in print_data()
Don't pass down the entire NmCli instance. The output_data
array is modified by print_data(), the rest is read-only input.
-rw-r--r-- | clients/cli/common.c | 8 | ||||
-rw-r--r-- | clients/cli/connections.c | 10 | ||||
-rw-r--r-- | clients/cli/devices.c | 33 | ||||
-rw-r--r-- | clients/cli/general.c | 6 | ||||
-rw-r--r-- | clients/cli/settings.c | 2 | ||||
-rw-r--r-- | clients/cli/utils.c | 38 | ||||
-rw-r--r-- | clients/cli/utils.h | 5 |
7 files changed, 51 insertions, 51 deletions
diff --git a/clients/cli/common.c b/clients/cli/common.c index cef229257c..a60a954625 100644 --- a/clients/cli/common.c +++ b/clients/cli/common.c @@ -162,7 +162,7 @@ print_ip4_config (NMIPConfig *cfg4, set_val_arr (arr, 6, wins_arr); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); /* Remove any previous data */ nmc_empty_output_fields (nmc); @@ -246,7 +246,7 @@ print_ip6_config (NMIPConfig *cfg6, set_val_arr (arr, 5, domain_arr); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); /* Remove any previous data */ nmc_empty_output_fields (nmc); @@ -292,7 +292,7 @@ print_dhcp4_config (NMDhcpConfig *dhcp4, set_val_arr (arr, 1, options_arr); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); /* Remove any previous data */ nmc_empty_output_fields (nmc); @@ -340,7 +340,7 @@ print_dhcp6_config (NMDhcpConfig *dhcp6, set_val_arr (arr, 1, options_arr); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); /* Remove any previous data */ nmc_empty_output_fields (nmc); diff --git a/clients/cli/connections.c b/clients/cli/connections.c index c81e317761..0ea4cd870e 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -795,7 +795,7 @@ nmc_connection_profile_details (NMConnection *connection, NmCli *nmc, gboolean s nmc_fields_settings_names, FALSE, NULL, NULL); nmc_fields_settings_names[0].flags = NMC_OF_FLAG_MAIN_HEADER_ONLY; - print_required_fields (nmc, nmc_fields_settings_names); + print_required_fields (&nmc->nmc_config, &nmc->print_fields, nmc_fields_settings_names); /* Loop through the required settings and print them. */ for (i = 0; i < print_settings_array->len; i++) { @@ -1222,7 +1222,7 @@ nmc_active_connection_details (NMActiveConnection *acon, NmCli *nmc) nmc_fields_con_active_details_groups, FALSE, NULL, NULL); nmc_fields_con_active_details_groups[0].flags = NMC_OF_FLAG_MAIN_HEADER_ONLY; - print_required_fields (nmc, nmc_fields_con_active_details_groups); + print_required_fields (&nmc->nmc_config, &nmc->print_fields, nmc_fields_con_active_details_groups); /* Loop through the groups and print them. */ for (i = 0; i < print_groups->len; i++) { @@ -1250,7 +1250,7 @@ nmc_active_connection_details (NMActiveConnection *acon, NmCli *nmc) /* Fill in values */ fill_output_active_connection (acon, nmc, TRUE, NMC_OF_FLAG_SECTION_PREFIX); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } @@ -1349,7 +1349,7 @@ nmc_active_connection_details (NMActiveConnection *acon, NmCli *nmc) set_val_arr (arr, 6, vpn_data_array); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } } @@ -1831,7 +1831,7 @@ do_connections_show (NmCli *nmc, int argc, char **argv) fill_output_connection (sorted_cons->pdata[i], nmc, active_only); g_ptr_array_free (sorted_cons, TRUE); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); } else { gboolean new_line = FALSE; gboolean without_fields = (nmc->required_fields == NULL); diff --git a/clients/cli/devices.c b/clients/cli/devices.c index 9e7f615644..13e9b8befa 100644 --- a/clients/cli/devices.c +++ b/clients/cli/devices.c @@ -984,7 +984,7 @@ print_bond_bridge_info (NMDevice *device, set_val_str (arr, 1, slaves_str->str); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); g_string_free (slaves_str, FALSE); nmc_empty_output_fields (nmc); @@ -1054,7 +1054,7 @@ print_team_info (NMDevice *device, set_val_str (arr, 2, sanitize_team_config (nm_device_team_get_config (NM_DEVICE_TEAM (device)))); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); g_string_free (slaves_str, FALSE); nmc_empty_output_fields (nmc); @@ -1110,7 +1110,7 @@ show_device_info (NMDevice *device, NmCli *nmc) nmc_fields_dev_show_general, FALSE, NULL, NULL); nmc_fields_dev_show_general[0].flags = NMC_OF_FLAG_MAIN_HEADER_ONLY; - print_required_fields (nmc, nmc_fields_dev_show_general); + print_required_fields (&nmc->nmc_config, &nmc->print_fields, nmc_fields_dev_show_general); /* Loop through the required sections and print them. */ for (k = 0; k < sections_array->len; k++) { @@ -1171,7 +1171,7 @@ show_device_info (NMDevice *device, NmCli *nmc) set_val_strc (arr, 24, nmc_device_metered_to_string (nm_device_get_metered (device))); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } @@ -1203,7 +1203,7 @@ show_device_info (NMDevice *device, NmCli *nmc) set_val_strc (arr, 3, (caps & NM_DEVICE_CAP_IS_SOFTWARE) ? _("yes") : _("no")); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } @@ -1241,7 +1241,7 @@ show_device_info (NMDevice *device, NmCli *nmc) ((wcaps & NM_WIFI_DEVICE_CAP_FREQ_5GHZ) ? _("yes") : _("no"))); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } @@ -1269,7 +1269,7 @@ show_device_info (NMDevice *device, NmCli *nmc) g_ptr_array_foreach ((GPtrArray *) aps, fill_output_access_point, (gpointer) info); g_ptr_array_free (aps, FALSE); g_free (info); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } } else if (NM_IS_DEVICE_ETHERNET (device)) { @@ -1289,7 +1289,7 @@ show_device_info (NMDevice *device, NmCli *nmc) set_val_arrc (arr, 2, ((const char **) nm_device_ethernet_get_s390_subchannels (NM_DEVICE_ETHERNET (device)))); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } } @@ -1353,7 +1353,7 @@ show_device_info (NMDevice *device, NmCli *nmc) set_val_str (arr, 2, vlan_id_str); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } @@ -1373,7 +1373,7 @@ show_device_info (NMDevice *device, NmCli *nmc) set_val_str (arr, 1, bluetooth_caps_to_string (nm_device_bt_get_capabilities (NM_DEVICE_BT (device)))); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); was_output = TRUE; } } @@ -1422,7 +1422,7 @@ show_device_info (NMDevice *device, NmCli *nmc) set_val_arr (arr, 2, (ac_arr)); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); g_string_free (ac_paths_str, FALSE); was_output = TRUE; @@ -1530,8 +1530,7 @@ do_devices_status (NmCli *nmc, int argc, char **argv) for (i = 0; devices[i]; i++) fill_output_device_status (devices[i], nmc); - /* Now print all data */ - print_data (nmc); + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); g_free (devices); @@ -2496,7 +2495,7 @@ show_access_point_info (NMDevice *device, NmCli *nmc) g_ptr_array_foreach ((GPtrArray *) aps, fill_output_access_point, (gpointer) info); g_ptr_array_free (aps, FALSE); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); nmc_empty_output_fields (nmc); g_free (info); } @@ -2726,7 +2725,7 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv) fill_output_access_point (ap, info); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); g_free (info); } else { show_access_point_info (device, nmc); @@ -2786,7 +2785,7 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv) } if (empty_line) g_print ("\n"); /* Empty line between devices' APs */ - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); nmc_empty_output_fields (nmc); empty_line = TRUE; } @@ -3734,7 +3733,7 @@ show_device_lldp_list (NMDevice *device, NmCli *nmc, char *fields_str, int *coun g_ptr_array_add (nmc->output_data, arr); } - print_data (nmc); + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); nmc_empty_output_fields (nmc); return neighbors->len; diff --git a/clients/cli/general.c b/clients/cli/general.c index 3ffad8416c..9824dfd188 100644 --- a/clients/cli/general.c +++ b/clients/cli/general.c @@ -381,7 +381,7 @@ show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_fl g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); return TRUE; } @@ -504,7 +504,7 @@ print_permissions (void *user_data) set_val_strc (arr, 1, permission_result_to_string (perm_result)); g_ptr_array_add (nmc->output_data, arr); } - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); quit (); return G_SOURCE_REMOVE; @@ -617,7 +617,7 @@ show_general_logging (NmCli *nmc) set_val_str (arr, 1, domains); g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); return TRUE; } diff --git a/clients/cli/settings.c b/clients/cli/settings.c index 87bbff0819..2a929f6662 100644 --- a/clients/cli/settings.c +++ b/clients/cli/settings.c @@ -918,7 +918,7 @@ setting_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean g_ptr_array_add (nmc->output_data, arr); - print_data (nmc); /* Print all data */ + print_data (&nmc->nmc_config, &nmc->print_fields, nmc->output_data); return TRUE; } diff --git a/clients/cli/utils.c b/clients/cli/utils.c index fc427bbdfa..b93fa10e95 100644 --- a/clients/cli/utils.c +++ b/clients/cli/utils.c @@ -863,7 +863,7 @@ get_value_to_print (NmcColorOption color_option, * of 'field_values' array. */ void -print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) +print_required_fields (const NmcConfig *nmc_config, const NmcPrintFields *print_fields, const NmcOutputField field_values[]) { GString *str; int width1, width2; @@ -872,11 +872,11 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) char *indent_str; const char *not_set_str = "--"; int i; - const NmcPrintFields fields = nmc->print_fields; - gboolean multiline = nmc->nmc_config.multiline_output; - gboolean terse = (nmc->nmc_config.print_output == NMC_PRINT_TERSE); - gboolean pretty = (nmc->nmc_config.print_output == NMC_PRINT_PRETTY); - gboolean escape = nmc->nmc_config.escape_values; + const NmcPrintFields fields = *print_fields; + gboolean multiline = nmc_config->multiline_output; + gboolean terse = (nmc_config->print_output == NMC_PRINT_TERSE); + gboolean pretty = (nmc_config->print_output == NMC_PRINT_PRETTY); + gboolean escape = nmc_config->escape_values; gboolean main_header_add = field_values[0].flags & NMC_OF_FLAG_MAIN_HEADER_ADD; gboolean main_header_only = field_values[0].flags & NMC_OF_FLAG_MAIN_HEADER_ONLY; gboolean field_names = field_values[0].flags & NMC_OF_FLAG_FIELD_NAMES; @@ -938,7 +938,7 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) for (p = (const char **) field_values[idx].value, j = 1; p && *p; p++, j++) { val = *p ? *p : not_set_str; - print_val = colorize_string (nmc->nmc_config.use_colors, field_values[idx].color, field_values[idx].color_fmt, + print_val = colorize_string (nmc_config->use_colors, field_values[idx].color, field_values[idx].color_fmt, val, &val_to_free); tmp = g_strdup_printf ("%s%s%s[%d]:", section_prefix ? (const char*) field_values[0].value : "", @@ -958,7 +958,7 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) gs_free char *val_to_free = NULL; val = val && *val ? val : not_set_str; - print_val = colorize_string (nmc->nmc_config.use_colors, field_values[idx].color, field_values[idx].color_fmt, + print_val = colorize_string (nmc_config->use_colors, field_values[idx].color, field_values[idx].color_fmt, val, &val_to_free); tmp = g_strdup_printf ("%s%s%s:", section_prefix ? hdr_name : "", @@ -986,7 +986,7 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) for (i = 0; i < fields.indices->len; i++) { int idx = g_array_index (fields.indices, int, i); gs_free char *val_to_free = NULL; - const char *value = get_value_to_print (nmc->nmc_config.use_colors, (NmcOutputField *) field_values+idx, field_names, + const char *value = get_value_to_print (nmc_config->use_colors, (NmcOutputField *) field_values+idx, field_names, not_set_str, &val_to_free); if (terse) { @@ -1041,18 +1041,18 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) * print_required_fields() function. */ void -print_data (NmCli *nmc) +print_data (const NmcConfig *nmc_config, const NmcPrintFields *print_fields, GPtrArray *output_data) { int i, j; size_t len; NmcOutputField *row; int num_fields = 0; - if (!nmc->output_data || nmc->output_data->len < 1) + if (!output_data || output_data->len < 1) return; /* How many fields? */ - row = g_ptr_array_index (nmc->output_data, 0); + row = g_ptr_array_index (output_data, 0); while (row->name) { num_fields++; row++; @@ -1061,27 +1061,27 @@ print_data (NmCli *nmc) /* Find out maximal string lengths */ for (i = 0; i < num_fields; i++) { size_t max_width = 0; - for (j = 0; j < nmc->output_data->len; j++) { + for (j = 0; j < output_data->len; j++) { gboolean field_names; gs_free char * val_to_free = NULL; const char *value; - row = g_ptr_array_index (nmc->output_data, j); + row = g_ptr_array_index (output_data, j); field_names = row[0].flags & NMC_OF_FLAG_FIELD_NAMES; value = get_value_to_print (NMC_USE_COLOR_NO, row+i, field_names, "--", &val_to_free); len = nmc_string_screen_width (value, NULL); max_width = len > max_width ? len : max_width; } - for (j = 0; j < nmc->output_data->len; j++) { - row = g_ptr_array_index (nmc->output_data, j); + for (j = 0; j < output_data->len; j++) { + row = g_ptr_array_index (output_data, j); row[i].width = max_width + 1; } } /* Now we can print the data. */ - for (i = 0; i < nmc->output_data->len; i++) { - row = g_ptr_array_index (nmc->output_data, i); - print_required_fields (nmc, row); + for (i = 0; i < output_data->len; i++) { + row = g_ptr_array_index (output_data, i); + print_required_fields (nmc_config, print_fields, row); } } diff --git a/clients/cli/utils.h b/clients/cli/utils.h index f9056352b5..7a8599fbfc 100644 --- a/clients/cli/utils.h +++ b/clients/cli/utils.h @@ -68,7 +68,8 @@ GArray *parse_output_fields (const char *fields_str, char *nmc_get_allowed_fields (const NmcOutputField fields_array[], int group_idx); NmcOutputField *nmc_dup_fields_array (NmcOutputField fields[], size_t size, guint32 flags); void nmc_empty_output_fields (NmCli *nmc); -void print_required_fields (NmCli *nmc, const NmcOutputField field_values[]); -void print_data (NmCli *nmc); +void print_required_fields (const NmcConfig *nmc_config, const NmcPrintFields *print_fields, const NmcOutputField field_values[]); +void print_data (const NmcConfig *nmc_config, const NmcPrintFields *print_fields, GPtrArray *output_data); + #endif /* NMC_UTILS_H */ |