Fix logic flow in SS parser

This commit is contained in:
Denis Kenzior 2009-06-18 16:39:55 -05:00
parent 3fa13d4d25
commit 0c8aed38d7
1 changed files with 12 additions and 6 deletions

View File

@ -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",
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,
ss_control_entry_find_by_service)) != NULL) {
struct ss_control_entry *entry = l->data;
@ -320,12 +332,6 @@ static gboolean recognized_control_string(struct ofono_modem *modem,
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 */