aboutsummaryrefslogtreecommitdiffstats
path: root/net/ieee80211/ieee80211_module.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-08-25 20:31:13 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-08-25 20:31:13 -0400
commitb4bf343093e81e33d75bede45896eda52cd5f2b4 (patch)
tree7fd5ce5f428995e6d612014e3ca7ad3f917fcf65 /net/ieee80211/ieee80211_module.c
parent343b0597297c3190647854881c087c01faf40a6f (diff)
parent099c5bb169e9816a7761336f668b63010762807b (diff)
downloadkernel_goldelico_gta04-b4bf343093e81e33d75bede45896eda52cd5f2b4.zip
kernel_goldelico_gta04-b4bf343093e81e33d75bede45896eda52cd5f2b4.tar.gz
kernel_goldelico_gta04-b4bf343093e81e33d75bede45896eda52cd5f2b4.tar.bz2
/spare/repo/netdev-2.6 branch 'ieee80211'
Diffstat (limited to 'net/ieee80211/ieee80211_module.c')
-rw-r--r--net/ieee80211/ieee80211_module.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/net/ieee80211/ieee80211_module.c b/net/ieee80211/ieee80211_module.c
index e0802b8..553acb2 100644
--- a/net/ieee80211/ieee80211_module.c
+++ b/net/ieee80211/ieee80211_module.c
@@ -269,5 +269,31 @@ module_exit(ieee80211_exit);
module_init(ieee80211_init);
#endif
+
+const char *escape_essid(const char *essid, u8 essid_len) {
+ static char escaped[IW_ESSID_MAX_SIZE * 2 + 1];
+ const char *s = essid;
+ char *d = escaped;
+
+ if (ieee80211_is_empty_essid(essid, essid_len)) {
+ memcpy(escaped, "<hidden>", sizeof("<hidden>"));
+ return escaped;
+ }
+
+ essid_len = min(essid_len, (u8)IW_ESSID_MAX_SIZE);
+ while (essid_len--) {
+ if (*s == '\0') {
+ *d++ = '\\';
+ *d++ = '0';
+ s++;
+ } else {
+ *d++ = *s++;
+ }
+ }
+ *d = '\0';
+ return escaped;
+}
+
EXPORT_SYMBOL(alloc_ieee80211);
EXPORT_SYMBOL(free_ieee80211);
+EXPORT_SYMBOL(escape_essid);