[PATCH 5/7] ui-tree.c: Declare the state variable globally

Lukas Fleischer cgit at cryptocrack.de
Sun Mar 3 21:42:47 CET 2013


On Sun, Mar 03, 2013 at 09:08:04PM +0100, Ferry Huberts wrote:
> 
> 
> On 03/03/13 18:06, Lukas Fleischer wrote:
> >This allows for removing the header variable in a following patch. We
> >can use the state variable to check whether the tail needs to be printed
> >instead.
> >
> >Note that the state variable will be moved into a context structure
> >later.
> >
> >Signed-off-by: Lukas Fleischer <cgit at cryptocrack.de>
> >---
> >  ui-tree.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> >diff --git a/ui-tree.c b/ui-tree.c
> >index 133101c..3887ecd 100644
> >--- a/ui-tree.c
> >+++ b/ui-tree.c
> >@@ -14,6 +14,7 @@
> >  char *curr_rev;
> >  char *match_path;
> >  int header = 0;
> >+static int state;
> >
> 
> please inititialise

It is initialized further below.

> 
> 
> >  static void print_text_buffer(const char *name, char *buf, unsigned long size)
> >  {
> >@@ -220,7 +221,6 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
> >  		     const char *pathname, unsigned mode, int stage,
> >  		     void *cbdata)
> >  {
> >-	static int state;
> >  	static char buffer[PATH_MAX];
> >
> >  	if (state == 0) {
> >@@ -274,6 +274,7 @@ void cgit_print_tree(const char *rev, char *path)
> >  	}
> >
> >  	match_path = path;
> >+	state = 0;
> 
> why? where does this come from?

This is the initialization you requested above. It makes much more sense
to initialize here since we actually want this to be reinitialized if
cgit_print_tree() is called more than once (even if there probably isn't
any code path that triggers it more than once yet).

> 
> >  	read_tree_recursive(commit->tree, "", 0, 0, paths, walk_tree, NULL);
> >  	ls_tail();
> >  }
> >
> 
> -- 
> Ferry Huberts




More information about the CGit mailing list