move load_ref_decorations() to log-tree.c and export it
log-tree.c is the ideal place for load_ref_decorations() and its helper functions to live in, because the variable name_decoration they're operating on is already located there, so move them thither. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							5e9bf11c1a
						
					
				
				
					commit
					cab4feb67d
				
			@ -14,7 +14,6 @@
 | 
				
			|||||||
#include "tag.h"
 | 
					#include "tag.h"
 | 
				
			||||||
#include "reflog-walk.h"
 | 
					#include "reflog-walk.h"
 | 
				
			||||||
#include "patch-ids.h"
 | 
					#include "patch-ids.h"
 | 
				
			||||||
#include "refs.h"
 | 
					 | 
				
			||||||
#include "run-command.h"
 | 
					#include "run-command.h"
 | 
				
			||||||
#include "shortlog.h"
 | 
					#include "shortlog.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -25,40 +24,6 @@ static int default_show_root = 1;
 | 
				
			|||||||
static const char *fmt_patch_subject_prefix = "PATCH";
 | 
					static const char *fmt_patch_subject_prefix = "PATCH";
 | 
				
			||||||
static const char *fmt_pretty;
 | 
					static const char *fmt_pretty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void add_name_decoration(const char *prefix, const char *name, struct object *obj)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	int plen = strlen(prefix);
 | 
					 | 
				
			||||||
	int nlen = strlen(name);
 | 
					 | 
				
			||||||
	struct name_decoration *res = xmalloc(sizeof(struct name_decoration) + plen + nlen);
 | 
					 | 
				
			||||||
	memcpy(res->name, prefix, plen);
 | 
					 | 
				
			||||||
	memcpy(res->name + plen, name, nlen + 1);
 | 
					 | 
				
			||||||
	res->next = add_decoration(&name_decoration, obj, res);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int add_ref_decoration(const char *refname, const unsigned char *sha1, int flags, void *cb_data)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	struct object *obj = parse_object(sha1);
 | 
					 | 
				
			||||||
	if (!obj)
 | 
					 | 
				
			||||||
		return 0;
 | 
					 | 
				
			||||||
	add_name_decoration("", refname, obj);
 | 
					 | 
				
			||||||
	while (obj->type == OBJ_TAG) {
 | 
					 | 
				
			||||||
		obj = ((struct tag *)obj)->tagged;
 | 
					 | 
				
			||||||
		if (!obj)
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
		add_name_decoration("tag: ", refname, obj);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void load_ref_decorations(void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	static int loaded;
 | 
					 | 
				
			||||||
	if (!loaded) {
 | 
					 | 
				
			||||||
		loaded = 1;
 | 
					 | 
				
			||||||
		for_each_ref(add_ref_decoration, NULL);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static void cmd_log_init(int argc, const char **argv, const char *prefix,
 | 
					static void cmd_log_init(int argc, const char **argv, const char *prefix,
 | 
				
			||||||
		      struct rev_info *rev)
 | 
							      struct rev_info *rev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										36
									
								
								log-tree.c
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								log-tree.c
									
									
									
									
									
								
							@ -1,12 +1,48 @@
 | 
				
			|||||||
#include "cache.h"
 | 
					#include "cache.h"
 | 
				
			||||||
#include "diff.h"
 | 
					#include "diff.h"
 | 
				
			||||||
#include "commit.h"
 | 
					#include "commit.h"
 | 
				
			||||||
 | 
					#include "tag.h"
 | 
				
			||||||
#include "graph.h"
 | 
					#include "graph.h"
 | 
				
			||||||
#include "log-tree.h"
 | 
					#include "log-tree.h"
 | 
				
			||||||
#include "reflog-walk.h"
 | 
					#include "reflog-walk.h"
 | 
				
			||||||
 | 
					#include "refs.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct decoration name_decoration = { "object names" };
 | 
					struct decoration name_decoration = { "object names" };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void add_name_decoration(const char *prefix, const char *name, struct object *obj)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int plen = strlen(prefix);
 | 
				
			||||||
 | 
						int nlen = strlen(name);
 | 
				
			||||||
 | 
						struct name_decoration *res = xmalloc(sizeof(struct name_decoration) + plen + nlen);
 | 
				
			||||||
 | 
						memcpy(res->name, prefix, plen);
 | 
				
			||||||
 | 
						memcpy(res->name + plen, name, nlen + 1);
 | 
				
			||||||
 | 
						res->next = add_decoration(&name_decoration, obj, res);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int add_ref_decoration(const char *refname, const unsigned char *sha1, int flags, void *cb_data)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct object *obj = parse_object(sha1);
 | 
				
			||||||
 | 
						if (!obj)
 | 
				
			||||||
 | 
							return 0;
 | 
				
			||||||
 | 
						add_name_decoration("", refname, obj);
 | 
				
			||||||
 | 
						while (obj->type == OBJ_TAG) {
 | 
				
			||||||
 | 
							obj = ((struct tag *)obj)->tagged;
 | 
				
			||||||
 | 
							if (!obj)
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
							add_name_decoration("tag: ", refname, obj);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void load_ref_decorations(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						static int loaded;
 | 
				
			||||||
 | 
						if (!loaded) {
 | 
				
			||||||
 | 
							loaded = 1;
 | 
				
			||||||
 | 
							for_each_ref(add_ref_decoration, NULL);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void show_parents(struct commit *commit, int abbrev)
 | 
					static void show_parents(struct commit *commit, int abbrev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct commit_list *p;
 | 
						struct commit_list *p;
 | 
				
			||||||
 | 
				
			|||||||
@ -17,5 +17,6 @@ void log_write_email_headers(struct rev_info *opt, const char *name,
 | 
				
			|||||||
			     const char **subject_p,
 | 
								     const char **subject_p,
 | 
				
			||||||
			     const char **extra_headers_p,
 | 
								     const char **extra_headers_p,
 | 
				
			||||||
			     int *need_8bit_cte_p);
 | 
								     int *need_8bit_cte_p);
 | 
				
			||||||
 | 
					void load_ref_decorations(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user