From cbbf4601211669ededac8d41d6adaec277af3e3b Mon Sep 17 00:00:00 2001 From: erin_yueh Date: Mon, 17 Dec 2007 09:31:02 +0000 Subject: gsmd: conference call support (Sean Chiang) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3657 99fdad57-331a-0410-800a-d7fa5415bdb3 --- src/gsmd/ext_response.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/gsmd/ext_response.c') diff --git a/src/gsmd/ext_response.c b/src/gsmd/ext_response.c index 37edf59..f2a94a7 100644 --- a/src/gsmd/ext_response.c +++ b/src/gsmd/ext_response.c @@ -109,16 +109,16 @@ struct gsm_extrsp *extrsp_parse(const void *ctx, const char *input) } break; case TOKEN_NUMERIC: - if (isdigit(*cur)) { - *cur_buf = *cur; - cur_buf++; - } - - if (*cur == ',' || *(cur+1) == '\0') { + if (*cur == ',') { /* end of number */ cur_token->u.numeric = atoi(buf); er->num_tokens++; state = IDLE; + } else if (isdigit(*cur)) { + *cur_buf = *cur; + cur_buf++; + } else { + /* ERORR */ } break; case TOKEN_STRING: @@ -170,6 +170,12 @@ struct gsm_extrsp *extrsp_parse(const void *ctx, const char *input) cur++; } + if (state == TOKEN_NUMERIC) { + /* end of number */ + cur_token->u.numeric = atoi(buf); + er->num_tokens++; + } + //extrsp_dump(er); return er; } -- cgit v1.2.3