trace: add trace_vprintf
This is a necessary cleanup to adding new types of trace functions. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									26db0f2e3a
								
							
						
					
					
						commit
						c6053543f2
					
				
							
								
								
									
										1
									
								
								cache.h
								
								
								
								
							
							
						
						
									
										1
									
								
								cache.h
								
								
								
								
							|  | @ -1067,6 +1067,7 @@ extern void alloc_report(void); | ||||||
| /* trace.c */ | /* trace.c */ | ||||||
| __attribute__((format (printf, 1, 2))) | __attribute__((format (printf, 1, 2))) | ||||||
| extern void trace_printf(const char *format, ...); | extern void trace_printf(const char *format, ...); | ||||||
|  | extern void trace_vprintf(const char *format, va_list ap); | ||||||
| __attribute__((format (printf, 2, 3))) | __attribute__((format (printf, 2, 3))) | ||||||
| extern void trace_argv_printf(const char **argv, const char *format, ...); | extern void trace_argv_printf(const char **argv, const char *format, ...); | ||||||
| extern void trace_repo_setup(const char *prefix); | extern void trace_repo_setup(const char *prefix); | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								trace.c
								
								
								
								
							
							
						
						
									
										14
									
								
								trace.c
								
								
								
								
							|  | @ -62,10 +62,9 @@ static int get_trace_fd(int *need_close) | ||||||
| static const char err_msg[] = "Could not trace into fd given by " | static const char err_msg[] = "Could not trace into fd given by " | ||||||
| 	"GIT_TRACE environment variable"; | 	"GIT_TRACE environment variable"; | ||||||
|  |  | ||||||
| void trace_printf(const char *fmt, ...) | void trace_vprintf(const char *fmt, va_list ap) | ||||||
| { | { | ||||||
| 	struct strbuf buf = STRBUF_INIT; | 	struct strbuf buf = STRBUF_INIT; | ||||||
| 	va_list ap; |  | ||||||
| 	int fd, need_close = 0; | 	int fd, need_close = 0; | ||||||
|  |  | ||||||
| 	fd = get_trace_fd(&need_close); | 	fd = get_trace_fd(&need_close); | ||||||
|  | @ -73,10 +72,7 @@ void trace_printf(const char *fmt, ...) | ||||||
| 		return; | 		return; | ||||||
|  |  | ||||||
| 	set_try_to_free_routine(NULL);	/* is never reset */ | 	set_try_to_free_routine(NULL);	/* is never reset */ | ||||||
| 	va_start(ap, fmt); |  | ||||||
| 	strbuf_vaddf(&buf, fmt, ap); | 	strbuf_vaddf(&buf, fmt, ap); | ||||||
| 	va_end(ap); |  | ||||||
|  |  | ||||||
| 	write_or_whine_pipe(fd, buf.buf, buf.len, err_msg); | 	write_or_whine_pipe(fd, buf.buf, buf.len, err_msg); | ||||||
| 	strbuf_release(&buf); | 	strbuf_release(&buf); | ||||||
|  |  | ||||||
|  | @ -84,6 +80,14 @@ void trace_printf(const char *fmt, ...) | ||||||
| 		close(fd); | 		close(fd); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void trace_printf(const char *fmt, ...) | ||||||
|  | { | ||||||
|  | 	va_list ap; | ||||||
|  | 	va_start(ap, fmt); | ||||||
|  | 	trace_vprintf(fmt, ap); | ||||||
|  | 	va_end(ap); | ||||||
|  | } | ||||||
|  |  | ||||||
| void trace_argv_printf(const char **argv, const char *fmt, ...) | void trace_argv_printf(const char **argv, const char *fmt, ...) | ||||||
| { | { | ||||||
| 	struct strbuf buf = STRBUF_INIT; | 	struct strbuf buf = STRBUF_INIT; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Jeff King
						Jeff King