diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-07-03 10:19:27 -0700 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-07-03 10:19:27 -0700 |
commit | d15bc1710108f58d11e229d33a2df95da91c8d79 (patch) | |
tree | 62ae9a575a5197e3afd0aaaf50a31e5e9b5d61be /src/device.c | |
parent | 299c1c383072e28853f602d4e2bb1e509fa2924d (diff) | |
download | connman-d15bc1710108f58d11e229d33a2df95da91c8d79.tar.gz connman-d15bc1710108f58d11e229d33a2df95da91c8d79.tar.bz2 connman-d15bc1710108f58d11e229d33a2df95da91c8d79.zip |
Fix to replace unprintable characters with a white space
Diffstat (limited to 'src/device.c')
-rw-r--r-- | src/device.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/device.c b/src/device.c index 63d52097..82901a7c 100644 --- a/src/device.c +++ b/src/device.c @@ -468,18 +468,17 @@ static char *build_group(const unsigned char *ssid, unsigned int ssid_len, return g_string_free(str, FALSE); } -static char *build_network_name(const char *ssid, char *name, +static void convert_name(const char *ssid, char *name, unsigned int ssid_len) { unsigned int i; - char *d = name; - for (i = 0; i < ssid_len; i++) + for (i = 0; i < ssid_len; i++) { if (g_ascii_isprint(ssid[i])) - *d++ = ssid[i]; - - *d = '\0'; - return name; + name[i] = ssid[i]; + else + name[i] = ' '; + } } static DBusMessage *join_network(DBusConnection *conn, @@ -541,8 +540,7 @@ static DBusMessage *join_network(DBusConnection *conn, return __connman_error_failed(msg, -ENOMEM); - name = build_network_name((char *) str, name, - strlen(str)); + convert_name((char *) str, name, strlen(str)); connman_network_set_name(network, name); g_free(name); |