diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-02-15 14:34:26 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-02-15 15:47:32 -0600 |
commit | a0cca0a970fb46fe2a3ee2615271da7d8a60c071 (patch) | |
tree | 87202bcb9bb0c15a9ef46a840f4889c253509a99 /gatchat/gatserver.c | |
parent | 5da299ad344402c64bc8de90c6def5972c71000b (diff) | |
download | ofono-a0cca0a970fb46fe2a3ee2615271da7d8a60c071.tar.bz2 |
gatserver: extend D with GSM/UMTS specifics
Diffstat (limited to 'gatchat/gatserver.c')
-rw-r--r-- | gatchat/gatserver.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gatchat/gatserver.c b/gatchat/gatserver.c index 6a976dc5..b18e888e 100644 --- a/gatchat/gatserver.c +++ b/gatchat/gatserver.c @@ -618,6 +618,9 @@ static unsigned int parse_basic_command(GAtServer *server, char *buf) while (buf[i] != '\0' && buf[i] != ';') i += 1; + if (buf[i] == ';') + i += 1; + goto done; } @@ -661,10 +664,13 @@ done: } else /* Handle S-parameter with 100+ */ g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); - /* Commands like ATA, ATZ cause the remainder line - * to be ignored. + /* + * Commands like ATA, ATZ cause the remainder linevto be ignored. + * In GSM/UMTS the ATD uses the separator ';' character as a voicecall + * modifier, so we ignore everything coming after that character + * as well. */ - if (prefix[0] == 'A' || prefix[0] == 'Z') + if (prefix[0] == 'A' || prefix[0] == 'Z' || prefix[0] == 'D') return strlen(buf); /* Consume the seperator ';' */ |