merge-recursive: move the global obuf to struct merge_options
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>maint
							parent
							
								
									b7fa51da9b
								
							
						
					
					
						commit
						c7d849243a
					
				|  | @ -80,18 +80,16 @@ struct stage_data | ||||||
| static struct string_list current_file_set = {NULL, 0, 0, 1}; | static struct string_list current_file_set = {NULL, 0, 0, 1}; | ||||||
| static struct string_list current_directory_set = {NULL, 0, 0, 1}; | static struct string_list current_directory_set = {NULL, 0, 0, 1}; | ||||||
|  |  | ||||||
| static struct strbuf obuf = STRBUF_INIT; |  | ||||||
|  |  | ||||||
| static int show(struct merge_options *o, int v) | static int show(struct merge_options *o, int v) | ||||||
| { | { | ||||||
| 	return (!o->call_depth && o->verbosity >= v) || o->verbosity >= 5; | 	return (!o->call_depth && o->verbosity >= v) || o->verbosity >= 5; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void flush_output(void) | static void flush_output(struct merge_options *o) | ||||||
| { | { | ||||||
| 	if (obuf.len) { | 	if (o->obuf.len) { | ||||||
| 		fputs(obuf.buf, stdout); | 		fputs(o->obuf.buf, stdout); | ||||||
| 		strbuf_reset(&obuf); | 		strbuf_reset(&o->obuf); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -103,35 +101,35 @@ static void output(struct merge_options *o, int v, const char *fmt, ...) | ||||||
| 	if (!show(o, v)) | 	if (!show(o, v)) | ||||||
| 		return; | 		return; | ||||||
|  |  | ||||||
| 	strbuf_grow(&obuf, o->call_depth * 2 + 2); | 	strbuf_grow(&o->obuf, o->call_depth * 2 + 2); | ||||||
| 	memset(obuf.buf + obuf.len, ' ', o->call_depth * 2); | 	memset(o->obuf.buf + o->obuf.len, ' ', o->call_depth * 2); | ||||||
| 	strbuf_setlen(&obuf, obuf.len + o->call_depth * 2); | 	strbuf_setlen(&o->obuf, o->obuf.len + o->call_depth * 2); | ||||||
|  |  | ||||||
| 	va_start(ap, fmt); | 	va_start(ap, fmt); | ||||||
| 	len = vsnprintf(obuf.buf + obuf.len, strbuf_avail(&obuf), fmt, ap); | 	len = vsnprintf(o->obuf.buf + o->obuf.len, strbuf_avail(&o->obuf), fmt, ap); | ||||||
| 	va_end(ap); | 	va_end(ap); | ||||||
|  |  | ||||||
| 	if (len < 0) | 	if (len < 0) | ||||||
| 		len = 0; | 		len = 0; | ||||||
| 	if (len >= strbuf_avail(&obuf)) { | 	if (len >= strbuf_avail(&o->obuf)) { | ||||||
| 		strbuf_grow(&obuf, len + 2); | 		strbuf_grow(&o->obuf, len + 2); | ||||||
| 		va_start(ap, fmt); | 		va_start(ap, fmt); | ||||||
| 		len = vsnprintf(obuf.buf + obuf.len, strbuf_avail(&obuf), fmt, ap); | 		len = vsnprintf(o->obuf.buf + o->obuf.len, strbuf_avail(&o->obuf), fmt, ap); | ||||||
| 		va_end(ap); | 		va_end(ap); | ||||||
| 		if (len >= strbuf_avail(&obuf)) { | 		if (len >= strbuf_avail(&o->obuf)) { | ||||||
| 			die("this should not happen, your snprintf is broken"); | 			die("this should not happen, your snprintf is broken"); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	strbuf_setlen(&obuf, obuf.len + len); | 	strbuf_setlen(&o->obuf, o->obuf.len + len); | ||||||
| 	strbuf_add(&obuf, "\n", 1); | 	strbuf_add(&o->obuf, "\n", 1); | ||||||
| 	if (!o->buffer_output) | 	if (!o->buffer_output) | ||||||
| 		flush_output(); | 		flush_output(o); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void output_commit_title(struct merge_options *o, struct commit *commit) | static void output_commit_title(struct merge_options *o, struct commit *commit) | ||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
| 	flush_output(); | 	flush_output(o); | ||||||
| 	for (i = o->call_depth; i--;) | 	for (i = o->call_depth; i--;) | ||||||
| 		fputs("  ", stdout); | 		fputs("  ", stdout); | ||||||
| 	if (commit->util) | 	if (commit->util) | ||||||
|  | @ -1289,7 +1287,7 @@ int merge_recursive(struct merge_options *o, | ||||||
| 		commit_list_insert(h1, &(*result)->parents); | 		commit_list_insert(h1, &(*result)->parents); | ||||||
| 		commit_list_insert(h2, &(*result)->parents->next); | 		commit_list_insert(h2, &(*result)->parents->next); | ||||||
| 	} | 	} | ||||||
| 	flush_output(); | 	flush_output(o); | ||||||
| 	return clean; | 	return clean; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1375,4 +1373,5 @@ void init_merge_options(struct merge_options *o) | ||||||
| 			strtol(getenv("GIT_MERGE_VERBOSITY"), NULL, 10); | 			strtol(getenv("GIT_MERGE_VERBOSITY"), NULL, 10); | ||||||
| 	if (o->verbosity >= 5) | 	if (o->verbosity >= 5) | ||||||
| 		o->buffer_output = 0; | 		o->buffer_output = 0; | ||||||
|  | 	strbuf_init(&o->obuf, 0); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -10,6 +10,7 @@ struct merge_options { | ||||||
| 	int diff_rename_limit; | 	int diff_rename_limit; | ||||||
| 	int merge_rename_limit; | 	int merge_rename_limit; | ||||||
| 	int call_depth; | 	int call_depth; | ||||||
|  | 	struct strbuf obuf; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| /* merge_trees() but with recursive ancestor consolidation */ | /* merge_trees() but with recursive ancestor consolidation */ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Miklos Vajna
						Miklos Vajna