diff options
-rw-r--r-- | reference-ril/reference-ril.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/reference-ril/reference-ril.c b/reference-ril/reference-ril.c index aa8296c..37c87b2 100644 --- a/reference-ril/reference-ril.c +++ b/reference-ril/reference-ril.c @@ -728,9 +728,9 @@ static void requestHangup(void *data, size_t datalen, RIL_Token t) static void requestSignalStrength(void *data, size_t datalen, RIL_Token t) { + RIL_SignalStrength_v6 response; ATResponse *p_response = NULL; int err; - int response[2]; char *line; err = at_send_command_singleline("AT+CSQ", "+CSQ:", &p_response); @@ -745,13 +745,15 @@ static void requestSignalStrength(void *data, size_t datalen, RIL_Token t) err = at_tok_start(&line); if (err < 0) goto error; - err = at_tok_nextint(&line, &(response[0])); + memset(&response, 0, sizeof(RIL_SignalStrength_v6)); + + err = at_tok_nextint(&line, &response.GW_SignalStrength.signalStrength); if (err < 0) goto error; - err = at_tok_nextint(&line, &(response[1])); + err = at_tok_nextint(&line, &response.GW_SignalStrength.bitErrorRate); if (err < 0) goto error; - RIL_onRequestComplete(t, RIL_E_SUCCESS, response, sizeof(response)); + RIL_onRequestComplete(t, RIL_E_SUCCESS, &response, sizeof(response)); at_response_free(p_response); return; |