cli: 'dev wifi list' use nm_utils_ssid_to_utf8() to display SSID; add SSID-HEX

This commit removes enclosing '' from SSID.
SSID-HEX is printed as a string of hex characters (each 2 chars represent one
byte).
This commit is contained in:
Jiří Klimeš
2013-05-16 16:26:15 +02:00
parent 66098fa607
commit 28704d1f42
4 changed files with 35 additions and 35 deletions

View File

@@ -193,20 +193,22 @@ static NmcOutputField nmc_fields_dev_show_wimax_prop[] = {
static NmcOutputField nmc_fields_dev_wifi_list[] = {
{"NAME", N_("NAME"), 15}, /* 0 */
{"SSID", N_("SSID"), 33}, /* 1 */
{"BSSID", N_("BSSID"), 19}, /* 2 */
{"MODE", N_("MODE"), 16}, /* 3 */
{"FREQ", N_("FREQ"), 10}, /* 4 */
{"RATE", N_("RATE"), 10}, /* 5 */
{"SIGNAL", N_("SIGNAL"), 8}, /* 6 */
{"SECURITY", N_("SECURITY"), 10}, /* 7 */
{"WPA-FLAGS", N_("WPA-FLAGS"), 25}, /* 8 */
{"RSN-FLAGS", N_("RSN-FLAGS"), 25}, /* 9 */
{"DEVICE", N_("DEVICE"), 10}, /* 10 */
{"ACTIVE", N_("ACTIVE"), 8}, /* 11 */
{"DBUS-PATH", N_("DBUS-PATH"), 46}, /* 12 */
{"SSID-HEX", N_("SSID-HEX"), 66}, /* 2 */
{"BSSID", N_("BSSID"), 19}, /* 3 */
{"MODE", N_("MODE"), 16}, /* 4 */
{"FREQ", N_("FREQ"), 10}, /* 5 */
{"RATE", N_("RATE"), 10}, /* 6 */
{"SIGNAL", N_("SIGNAL"), 8}, /* 7 */
{"SECURITY", N_("SECURITY"), 10}, /* 8 */
{"WPA-FLAGS", N_("WPA-FLAGS"), 25}, /* 9 */
{"RSN-FLAGS", N_("RSN-FLAGS"), 25}, /* 10 */
{"DEVICE", N_("DEVICE"), 10}, /* 11 */
{"ACTIVE", N_("ACTIVE"), 8}, /* 12 */
{"DBUS-PATH", N_("DBUS-PATH"), 46}, /* 13 */
{NULL, NULL, 0}
};
#define NMC_FIELDS_DEV_WIFI_LIST_ALL "SSID,BSSID,MODE,FREQ,RATE,SIGNAL,SECURITY,WPA-FLAGS,RSN-FLAGS,DEVICE,ACTIVE,DBUS-PATH"
#define NMC_FIELDS_DEV_WIFI_LIST_ALL "SSID,SSID-HEX,BSSID,MODE,FREQ,RATE,SIGNAL,SECURITY,"\
"WPA-FLAGS,RSN-FLAGS,DEVICE,ACTIVE,DBUS-PATH"
#define NMC_FIELDS_DEV_WIFI_LIST_COMMON "SSID,BSSID,MODE,FREQ,RATE,SIGNAL,SECURITY,ACTIVE"
#define NMC_FIELDS_DEV_WIFI_LIST_FOR_DEV_LIST "NAME,"NMC_FIELDS_DEV_WIFI_LIST_COMMON
@@ -392,7 +394,8 @@ fill_output_access_point (gpointer data, gpointer user_data)
const GByteArray *ssid;
const char *bssid;
NM80211Mode mode;
char *freq_str, *ssid_str, *bitrate_str, *strength_str, *wpa_flags_str, *rsn_flags_str;
char *freq_str, *ssid_str, *ssid_hex_str, *bitrate_str,
*strength_str, *wpa_flags_str, *rsn_flags_str;
GString *security_str;
char *ap_name;
@@ -414,7 +417,8 @@ fill_output_access_point (gpointer data, gpointer user_data)
strength = nm_access_point_get_strength (ap);
/* Convert to strings */
ssid_str = ssid_to_printable ((const char *) ssid->data, ssid->len);
ssid_str = nm_utils_ssid_to_utf8 (ssid);
ssid_hex_str = ssid_to_hex ((const char *)ssid->data, ssid->len);
freq_str = g_strdup_printf (_("%u MHz"), freq);
bitrate_str = g_strdup_printf (_("%u MB/s"), bitrate/1000);
strength_str = g_strdup_printf ("%u", strength);
@@ -449,19 +453,20 @@ fill_output_access_point (gpointer data, gpointer user_data)
ap_name = g_strdup_printf ("AP[%d]", info->index++); /* AP */
set_val_str (arr, 0, ap_name);
set_val_str (arr, 1, ssid_str);
set_val_strc (arr, 2, bssid);
set_val_strc (arr, 3, mode == NM_802_11_MODE_ADHOC ? _("Ad-Hoc")
set_val_str (arr, 2, ssid_hex_str);
set_val_strc (arr, 3, bssid);
set_val_strc (arr, 4, mode == NM_802_11_MODE_ADHOC ? _("Ad-Hoc")
: mode == NM_802_11_MODE_INFRA ? _("Infrastructure")
: _("Unknown"));
set_val_str (arr, 4, freq_str);
set_val_str (arr, 5, bitrate_str);
set_val_str (arr, 6, strength_str);
set_val_str (arr, 7, security_str->str);
set_val_str (arr, 8, wpa_flags_str);
set_val_str (arr, 9, rsn_flags_str);
set_val_strc (arr, 10, info->device);
set_val_strc (arr, 11, active ? _("yes") : _("no"));
set_val_strc (arr, 12, nm_object_get_path (NM_OBJECT (ap)));
set_val_str (arr, 5, freq_str);
set_val_str (arr, 6, bitrate_str);
set_val_str (arr, 7, strength_str);
set_val_str (arr, 8, security_str->str);
set_val_str (arr, 9, wpa_flags_str);
set_val_str (arr, 10, rsn_flags_str);
set_val_strc (arr, 11, info->device);
set_val_strc (arr, 12, active ? _("yes") : _("no"));
set_val_strc (arr, 13, nm_object_get_path (NM_OBJECT (ap)));
g_ptr_array_add (info->nmc->output_data, arr);

View File

@@ -1115,7 +1115,7 @@ nmc_property_olpc_get_ssid (NMSetting *setting)
ssid = nm_setting_olpc_mesh_get_ssid (s_olpc_mesh);
if (ssid)
ssid_str = ssid_to_printable ((const char *) ssid->data, ssid->len);
ssid_str = nm_utils_ssid_to_utf8 (ssid);
return ssid_str;
}
@@ -1260,7 +1260,7 @@ nmc_property_wireless_get_ssid (NMSetting *setting)
ssid = nm_setting_wireless_get_ssid (s_wireless);
if (ssid)
ssid_str = ssid_to_printable ((const char *) ssid->data, ssid->len);
ssid_str = nm_utils_ssid_to_utf8 (ssid);
return ssid_str;
}

View File

@@ -147,13 +147,11 @@ nmc_parse_args (nmc_arg_t *arg_arr, gboolean last, int *argc, char ***argv, GErr
}
/*
* Convert SSID to a printable form.
* If it is an UTF-8 string, enclose it in quotes and return it.
* Otherwise convert it to a hex string representation.
* Convert SSID to a hex string representation.
* Caller has to free the returned string using g_free()
*/
char *
ssid_to_printable (const char *str, gsize len)
ssid_to_hex (const char *str, gsize len)
{
GString *printable;
char *printable_str;
@@ -162,9 +160,6 @@ ssid_to_printable (const char *str, gsize len)
if (str == NULL || len == 0)
return NULL;
if (g_utf8_validate (str, len, NULL))
return g_strdup_printf ("'%.*s'", (int) len, str);
printable = g_string_new (NULL);
for (i = 0; i < len; i++) {
g_string_append_printf (printable, "%02X", (unsigned char) str[i]);

View File

@@ -39,7 +39,7 @@ int matches (const char *cmd, const char *pattern);
int next_arg (int *argc, char ***argv);
gboolean nmc_arg_is_help (const char *arg);
gboolean nmc_parse_args (nmc_arg_t *arg_arr, gboolean last, int *argc, char ***argv, GError **error);
char *ssid_to_printable (const char *str, gsize len);
char *ssid_to_hex (const char *str, gsize len);
gboolean nmc_string_to_int_base (const char *str,
int base,
gboolean range_check,