summaryrefslogtreecommitdiff
path: root/gsupplicant/supplicant.c
diff options
context:
space:
mode:
Diffstat (limited to 'gsupplicant/supplicant.c')
-rw-r--r--gsupplicant/supplicant.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index 66644c8b..d27fe0db 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -5506,6 +5506,7 @@ static void interface_signalpoll_result(const char *error,
struct interface_signalpoll_data *data = user_data;
int err = 0;
dbus_int32_t maxspeed = 0;
+ unsigned char strength = 0;
DBusMessageIter sub_iter, dict;
if (error) {
@@ -5534,13 +5535,19 @@ static void interface_signalpoll_result(const char *error,
SUPPLICANT_DBG("linkspeed = %d", maxspeed);
break;
}
+ case DBUS_TYPE_BYTE:
+ if (g_strcmp0(key, "rssi") == 0) {
+ dbus_message_iter_get_basic(&value, &strength);
+ SUPPLICANT_DBG("Strength = %d", strength);
+ break;
+ }
}
dbus_message_iter_next(&dict);
}
out:
if(data->callback)
- data->callback(err, maxspeed, data->user_data);
+ data->callback(err, maxspeed, strength, data->user_data);
g_free(data->path);
dbus_free(data);