mirror of git://git.sysmocom.de/ofono
Fix logic flow in SS parser
This commit is contained in:
parent
3fa13d4d25
commit
0c8aed38d7
18
src/ussd.c
18
src/ussd.c
|
@ -308,6 +308,18 @@ static gboolean recognized_control_string(struct ofono_modem *modem,
|
||||||
ofono_debug("Got parse result: %d, %s, %s, %s, %s, %s, %s",
|
ofono_debug("Got parse result: %d, %s, %s, %s, %s, %s, %s",
|
||||||
type, sc, sia, sib, sic, sid, dn);
|
type, sc, sia, sib, sic, sid, dn);
|
||||||
|
|
||||||
|
/* A password change string needs to be treated separately
|
||||||
|
* because it uses a fourth SI and is thus not a valid
|
||||||
|
* control string. */
|
||||||
|
if (recognized_passwd_change_string(modem, type, sc,
|
||||||
|
sia, sib, sic, sid, dn, msg)) {
|
||||||
|
ret = TRUE;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (*sid != '\0');
|
||||||
|
goto out;
|
||||||
|
|
||||||
while ((l = g_slist_find_custom(l, sc,
|
while ((l = g_slist_find_custom(l, sc,
|
||||||
ss_control_entry_find_by_service)) != NULL) {
|
ss_control_entry_find_by_service)) != NULL) {
|
||||||
struct ss_control_entry *entry = l->data;
|
struct ss_control_entry *entry = l->data;
|
||||||
|
@ -320,12 +332,6 @@ static gboolean recognized_control_string(struct ofono_modem *modem,
|
||||||
l = l->next;
|
l = l->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A password change string needs to be treated separately
|
|
||||||
* because it uses a fourth SI and is thus not a valid
|
|
||||||
* control string. */
|
|
||||||
if (recognized_passwd_change_string(modem, type, sc,
|
|
||||||
sia, sib, sic, sid, dn, msg))
|
|
||||||
goto out;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: Handle all strings that control voice calls */
|
/* TODO: Handle all strings that control voice calls */
|
||||||
|
|
Loading…
Reference in New Issue