From 2583ff626b53104e9c9761e0798525da04cf0040 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Mon, 22 Mar 2010 12:57:40 -0500 Subject: [PATCH] Refactor: Command line extraction --- gatchat/gatserver.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gatchat/gatserver.c b/gatchat/gatserver.c index 5e46ba2..efc2f3d 100644 --- a/gatchat/gatserver.c +++ b/gatchat/gatserver.c @@ -341,9 +341,6 @@ static void server_parse_line(GAtServer *server, char *line) pos += consumed; } - -done: - g_free(line); } static enum ParserResult server_feed(GAtServer *server, @@ -523,8 +520,17 @@ static void new_bytes(GAtServer *p) break; case PARSER_RESULT_COMMAND: - server_parse_line(p, extract_line(p)); + { + char *line = extract_line(p); + + if (line) { + server_parse_line(p, line); + g_free(line); + } else + g_at_server_send_final(p, + G_AT_SERVER_RESULT_ERROR); break; + } case PARSER_RESULT_REPEAT_LAST: /* TODO */ -- 2.7.4