diff options
author | Dan Williams <dcbw@redhat.com> | 2010-03-05 14:08:40 -0800 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-03-05 14:08:40 -0800 |
commit | ad7bbb2f160d52ff581c334ac85c29d10b3e4451 (patch) | |
tree | 7dd7ce40d092e6a4992e04d9b33be2396478337b /src/mm-modem-helpers.c | |
parent | e4350152c86099e908921df64ba2e16f81ade5cb (diff) |
gsm: indicate CREG vs. CGREG
Diffstat (limited to 'src/mm-modem-helpers.c')
-rw-r--r-- | src/mm-modem-helpers.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c index d909ce94..56834d6d 100644 --- a/src/mm-modem-helpers.c +++ b/src/mm-modem-helpers.c @@ -319,6 +319,7 @@ mm_gsm_parse_creg_response (GMatchInfo *info, gulong *out_lac, gulong *out_ci, gint *out_act, + gboolean *out_greg, GError **error) { gboolean success = FALSE, foo; @@ -326,12 +327,14 @@ mm_gsm_parse_creg_response (GMatchInfo *info, gulong stat = 0, lac = 0, ci = 0; guint istat = 0, ilac = 0, ici = 0, iact = 0; char *str; + const char *orig_str; g_return_val_if_fail (info != NULL, FALSE); g_return_val_if_fail (out_reg_state != NULL, FALSE); g_return_val_if_fail (out_lac != NULL, FALSE); g_return_val_if_fail (out_ci != NULL, FALSE); g_return_val_if_fail (out_act != NULL, FALSE); + g_return_val_if_fail (out_greg != NULL, FALSE); /* Normally the number of matches could be used to determine what each * item is, but we have overlap in one case. @@ -413,6 +416,9 @@ mm_gsm_parse_creg_response (GMatchInfo *info, act = -1; } + orig_str = g_match_info_get_string (info); + *out_greg = !!strstr (orig_str, "+CGREG"); + *out_reg_state = (guint32) stat; if (stat != 4) { /* Don't fill in lac/ci/act if the device's state is unknown */ |