wireless: hostap: proc: print properly escaped SSID
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 13 Oct 2014 22:55:24 +0000 (15:55 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Oct 2014 00:18:27 +0000 (02:18 +0200)
Instead of substituting non-printable characters by '_' let's print SSID
properly escaped by using recently added %*pE specifier.

[akpm@linux-foundation.org: fix printk type warning]
[akpm@linux-foundation.org: remove now-unused local `i']
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: "John W . Linville" <linville@tuxdriver.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/net/wireless/hostap/hostap_proc.c

index 8efd17c..dd84557 100644 (file)
@@ -168,7 +168,6 @@ static int prism2_bss_list_proc_show(struct seq_file *m, void *v)
        local_info_t *local = m->private;
        struct list_head *ptr = v;
        struct hostap_bss_info *bss;
-       int i;
 
        if (ptr == &local->bss_list) {
                seq_printf(m, "#BSSID\tlast_update\tcount\tcapab_info\tSSID(txt)\t"
@@ -181,9 +180,7 @@ static int prism2_bss_list_proc_show(struct seq_file *m, void *v)
                   bss->bssid, bss->last_update,
                   bss->count, bss->capab_info);
 
-       for (i = 0; i < bss->ssid_len; i++)
-               seq_putc(m,bss->ssid[i] >= 32 && bss->ssid[i] < 127 ?
-                          bss->ssid[i] : '_');
+       seq_printf(m, "%*pE", (int)bss->ssid_len, bss->ssid);
 
        seq_putc(m, '\t');
        seq_printf(m, "%*phN", (int)bss->ssid_len, bss->ssid);