diff options
author | Zhenhua Zhang <zhenhua.zhang@intel.com> | 2010-03-31 17:50:38 +0800 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-03-31 08:12:55 -0500 |
commit | 86b0fa319484bc11e834a5a4feed937deff46a68 (patch) | |
tree | ffa9ded69df06ea30b2718fb68fe8c07f02779d5 | |
parent | 5819927a3866213a5681d648603908473a213275 (diff) | |
download | ofono-86b0fa319484bc11e834a5a4feed937deff46a68.tar.bz2 |
Fix echo command back even if don't process it
-rw-r--r-- | gatchat/gatserver.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gatchat/gatserver.c b/gatchat/gatserver.c index 4796b71b..a47d46c3 100644 --- a/gatchat/gatserver.c +++ b/gatchat/gatserver.c @@ -1050,19 +1050,19 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond, read_count++; + if (rbytes == 0) + break; + + if (server->v250.echo) + send_common(server, (char *)buf, rbytes); + /* Ignore incoming bytes when processing a command line */ if (server->processing_cmdline) continue; total_read += rbytes; - - if (rbytes > 0) { - if (server->v250.echo) - send_common(server, (char *)buf, rbytes); - - ring_buffer_write_advance(server->read_buf, rbytes); - } - } while (err == G_IO_ERROR_NONE && rbytes > 0 && + ring_buffer_write_advance(server->read_buf, rbytes); + } while (err == G_IO_ERROR_NONE && read_count < server->max_read_attempts); if (total_read > 0) |