date API: provide and use a DATE_MODE_INIT
Provide and use a DATE_MODE_INIT macro. Most of the users of struct
date_mode" use it via pretty.h's "struct pretty_print_context" which
doesn't have an initialization macro, so we're still bound to being
initialized to "{ 0 }" by default.
But we can change the couple of callers that directly declared a
variable on the stack to instead use the initializer, and thus do away
with the "mode.local = 0" added in add00ba2de (date: make "local"
orthogonal to date format, 2015-09-03).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							88c7b4c3c8
						
					
				
				
					commit
					f184289832
				
			
							
								
								
									
										3
									
								
								date.c
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								date.c
									
									
									
									
									
								
							@ -206,11 +206,10 @@ void show_date_relative(timestamp_t time, struct strbuf *timebuf)
 | 
			
		||||
 | 
			
		||||
struct date_mode *date_mode_from_type(enum date_mode_type type)
 | 
			
		||||
{
 | 
			
		||||
	static struct date_mode mode;
 | 
			
		||||
	static struct date_mode mode = DATE_MODE_INIT;
 | 
			
		||||
	if (type == DATE_STRFTIME)
 | 
			
		||||
		BUG("cannot create anonymous strftime date_mode struct");
 | 
			
		||||
	mode.type = type;
 | 
			
		||||
	mode.local = 0;
 | 
			
		||||
	return &mode;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								date.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								date.h
									
									
									
									
									
								
							@ -20,6 +20,10 @@ struct date_mode {
 | 
			
		||||
	int local;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define DATE_MODE_INIT { \
 | 
			
		||||
	.type = DATE_NORMAL, \
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Convenience helper for passing a constant type, like:
 | 
			
		||||
 *
 | 
			
		||||
 | 
			
		||||
@ -1251,7 +1251,7 @@ static void grab_date(const char *buf, struct atom_value *v, const char *atomnam
 | 
			
		||||
	char *zone;
 | 
			
		||||
	timestamp_t timestamp;
 | 
			
		||||
	long tz;
 | 
			
		||||
	struct date_mode date_mode = { DATE_NORMAL };
 | 
			
		||||
	struct date_mode date_mode = DATE_MODE_INIT;
 | 
			
		||||
	const char *formatp;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
 | 
			
		||||
@ -35,7 +35,7 @@ static void show_human_dates(const char **argv)
 | 
			
		||||
 | 
			
		||||
static void show_dates(const char **argv, const char *format)
 | 
			
		||||
{
 | 
			
		||||
	struct date_mode mode;
 | 
			
		||||
	struct date_mode mode = DATE_MODE_INIT;
 | 
			
		||||
 | 
			
		||||
	parse_date_format(format, &mode);
 | 
			
		||||
	for (; *argv; argv++) {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user