From 1d27446c603cbad306a8f294fb835ed3db8697b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Sat, 28 May 2011 10:56:19 +0200 Subject: [PATCH] Move flush-pkt creation into its own function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Carlos Martín Nieto --- src/pkt.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/pkt.c b/src/pkt.c index 5dce0bf59..bf460e55d 100644 --- a/src/pkt.c +++ b/src/pkt.c @@ -30,6 +30,20 @@ #include "common.h" #include "util.h" +static int flush_pkt(git_pkt **out) +{ + git_pkt *pkt; + + pkt = git__malloc(sizeof(git_pkt)); + if (pkt == NULL) + return GIT_ENOMEM; + + pkt->type = GIT_PKT_FLUSH; + *out = pkt; + + return GIT_SUCCESS; +} + /* * As per the documentation, the syntax is: * @@ -54,24 +68,19 @@ int git_pkt_parse_line(git_pkt **head, const char *line, const char **out) if (error < GIT_SUCCESS) return error; + line = num_end; /* * TODO: How do we deal with empty lines? Try again? with the next * line? */ if (len == 4) { - *out = num_end; + *out = line; return GIT_SUCCESS; } - if (len == 0) { /* Flush, should go into its own fn */ - pkt = git__malloc(sizeof(git_pkt)); - if (pkt == NULL) - return GIT_ENOMEM; - - pkt->type = GIT_PKT_FLUSH; - *head = pkt; - *out = num_end; - return GIT_SUCCESS; + if (len == 0) { /* Flush pkt */ + *out = line; + return flush_pkt(head); } /* TODO: Write the rest of this thing */