From db239342df57d9223b0dc05d2c850809fa55e89b Mon Sep 17 00:00:00 2001 From: David Barr Date: Wed, 26 May 2010 11:58:02 +1000 Subject: [PATCH] Fix missing state transitions in parser. Found three transitions that were being missed by the parser: Node to Node without Content. Node to Revision without Content. Node to Revision at EOF. Signed-off-by: David Barr --- svndump.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/svndump.c b/svndump.c index 9b6c5f6..77bd3a7 100644 --- a/svndump.c +++ b/svndump.c @@ -209,10 +209,13 @@ static void svndump_read(char *url) if(!strcmp(t, "UUID")) { dump_ctx.uuid = strdup(val); } else if (!strcmp(t, "Revision-number")) { + if (active_ctx == NODE_CTX) handle_node(); if (active_ctx != DUMP_CTX) handle_revision(); active_ctx = REV_CTX; reset_rev_ctx(atoi(val)); } else if (!strcmp(t, "Node-path")) { + if (active_ctx == NODE_CTX) + handle_node(); active_ctx = NODE_CTX; reset_node_ctx(val); } else if (!strcmp(t, "Node-kind")) { @@ -258,6 +261,7 @@ static void svndump_read(char *url) } } } + if (active_ctx == NODE_CTX) handle_node(); if (active_ctx != DUMP_CTX) handle_revision(); } -- 2.11.4.GIT