diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-08-25 20:31:13 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-25 20:31:13 -0400 |
commit | b4bf343093e81e33d75bede45896eda52cd5f2b4 (patch) | |
tree | 7fd5ce5f428995e6d612014e3ca7ad3f917fcf65 /net/ieee80211/ieee80211_module.c | |
parent | 343b0597297c3190647854881c087c01faf40a6f (diff) | |
parent | 099c5bb169e9816a7761336f668b63010762807b (diff) | |
download | kernel_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.c | 26 |
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); |