summaryrefslogtreecommitdiffstats
path: root/reference-ril/reference-ril.c
diff options
context:
space:
mode:
Diffstat (limited to 'reference-ril/reference-ril.c')
-rw-r--r--reference-ril/reference-ril.c10
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;