Hi Denis, On 03/23/2010 02:27 AM, Denis Kenzior wrote: > Hi Zhenhua, > >> --- >> gatchat/gatserver.c | 4 ++++ >> 1 files changed, 4 insertions(+), 0 deletions(-) >> >> diff --git a/gatchat/gatserver.c b/gatchat/gatserver.c >> index 1ffc2c3..9683fa3 100644 >> --- a/gatchat/gatserver.c >> +++ b/gatchat/gatserver.c >> @@ -165,6 +165,10 @@ static void g_at_server_send_final(GAtServer *server, >> GAtServerResult result) char r = v250.s4; >> unsigned int len; >> >> + /* Do not emit error if extended error has already been emitted */ >> + if (result == G_AT_SERVER_RESULT_EXT_ERROR) >> + return; >> + > > I really don't get it, why would anyone call g_at_server_send_final with > EXT_ERROR? Don't we have g_at_server_send_ext_final or something for that? I understand your point. My thinking is that callback should return GAtServrResult so that the main logic know whether we should parse the next command or abort parsing. But if the function call is asynchronized, I don't know, do you want send_final able to abort the parsing iteration? >> if (v250.quiet) >> return; >> > > Regards, > -Denis > _______________________________________________ > ofono mailing list > ofono(a)ofono.org > http://lists.ofono.org/listinfo/ofono >