summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoravatar <avatar@FreeBSD.org>2005-06-20 02:33:02 +0000
committeravatar <avatar@FreeBSD.org>2005-06-20 02:33:02 +0000
commitd96c7ef573c68c2ebb755a6505ed0fd7d670aaf6 (patch)
tree60508ae0efe8802d30330060e27ff5e0082419a8
parent8a64953622739b92709bfe4d9873c75f48a0b6ad (diff)
downloadFreeBSD-src-d96c7ef573c68c2ebb755a6505ed0fd7d670aaf6.zip
FreeBSD-src-d96c7ef573c68c2ebb755a6505ed0fd7d670aaf6.tar.gz
Appending "..." to a SSID which contains unprintable characters only when
necessary. Submitted by: sam Approved by: re (scottl)
-rw-r--r--sbin/ifconfig/ifieee80211.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c
index 8f85741..b85753f 100644
--- a/sbin/ifconfig/ifieee80211.c
+++ b/sbin/ifconfig/ifieee80211.c
@@ -712,15 +712,16 @@ copy_essid(char buf[], size_t bufsize, const u_int8_t *essid, size_t essid_len)
bufsize -= 2;
p = essid;
for (i = 0; i < maxlen && bufsize >= 2; i++) {
- sprintf(&buf[2+2*i], "%02x", *p++);
+ sprintf(&buf[2+2*i], "%02x", p[i]);
bufsize -= 2;
}
- maxlen = 2+2*i;
+ if (i != essid_len)
+ memcpy(&buf[2+2*i-3], "...", 3);
} else { /* printable, truncate as needed */
memcpy(buf, essid, maxlen);
+ if (maxlen != essid_len)
+ memcpy(&buf[maxlen-3], "...", 3);
}
- if (maxlen != essid_len)
- memcpy(buf+maxlen-3, "...", 3);
return maxlen;
}
OpenPOWER on IntegriCloud