summaryrefslogtreecommitdiffstats
path: root/gatchat/gatserver.c
diff options
context:
space:
mode:
authorZhenhua Zhang <zhenhua.zhang@intel.com>2010-03-31 17:50:38 +0800
committerDenis Kenzior <denkenz@gmail.com>2010-03-31 08:12:55 -0500
commit86b0fa319484bc11e834a5a4feed937deff46a68 (patch)
treeffa9ded69df06ea30b2718fb68fe8c07f02779d5 /gatchat/gatserver.c
parent5819927a3866213a5681d648603908473a213275 (diff)
downloadofono-86b0fa319484bc11e834a5a4feed937deff46a68.tar.bz2
Fix echo command back even if don't process it
Diffstat (limited to 'gatchat/gatserver.c')
-rw-r--r--gatchat/gatserver.c16
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)