summaryrefslogtreecommitdiff
path: root/src/device.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-07-03 10:19:27 -0700
committerMarcel Holtmann <marcel@holtmann.org>2009-07-03 10:19:27 -0700
commitd15bc1710108f58d11e229d33a2df95da91c8d79 (patch)
tree62ae9a575a5197e3afd0aaaf50a31e5e9b5d61be /src/device.c
parent299c1c383072e28853f602d4e2bb1e509fa2924d (diff)
downloadconnman-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.c16
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);