mbm: fix +CIND quality parsing

Broken by Dan with ef0a604dc2
This commit is contained in:
Torgny Johansson
2009-06-29 10:34:33 -04:00
committed by Dan Williams
parent ef0a604dc2
commit 3f5501906b

View File

@@ -170,17 +170,13 @@ static void
mbm_cind_done (MMSerial *serial, GString *response, GError *error, gpointer user_data) mbm_cind_done (MMSerial *serial, GString *response, GError *error, gpointer user_data)
{ {
MMCallbackInfo *info = (MMCallbackInfo *) user_data; MMCallbackInfo *info = (MMCallbackInfo *) user_data;
char *cind; int quality = 0, ignored;
int quality = 0, batt;
if (error) if (error)
info->error = g_error_copy (error); info->error = g_error_copy (error);
else { else {
cind = strstr (response->str, "+CIND:"); if (sscanf (response->str, "+CIND: %d,%d", &ignored, &quality) == 2)
if (cind) {
if (sscanf (cind, " %d,%d", &batt, &quality) == 2)
quality *= 20; /* normalize to percent */ quality *= 20; /* normalize to percent */
}
mm_callback_info_set_result (info, GUINT_TO_POINTER (quality), NULL); mm_callback_info_set_result (info, GUINT_TO_POINTER (quality), NULL);
} }