diff options
Diffstat (limited to 'pretty.c')
| -rw-r--r-- | pretty.c | 33 | 
1 files changed, 6 insertions, 27 deletions
@@ -554,31 +554,11 @@ static void add_merge_info(const struct pretty_print_context *pp,  	strbuf_addch(sb, '\n');  } -static char *get_header(const struct commit *commit, const char *msg, -			const char *key) +static char *get_header(const char *msg, const char *key)  { -	int key_len = strlen(key); -	const char *line = msg; - -	while (line) { -		const char *eol = strchrnul(line, '\n'), *next; - -		if (line == eol) -			return NULL; -		if (!*eol) { -			warning("malformed commit (header is missing newline): %s", -				sha1_to_hex(commit->object.sha1)); -			next = NULL; -		} else -			next = eol + 1; -		if (eol - line > key_len && -		    !strncmp(line, key, key_len) && -		    line[key_len] == ' ') { -			return xmemdupz(line + key_len + 1, eol - line - key_len - 1); -		} -		line = next; -	} -	return NULL; +	size_t len; +	const char *v = find_commit_header(msg, key, &len); +	return v ? xmemdupz(v, len) : NULL;  }  static char *replace_encoding_header(char *buf, const char *encoding) @@ -624,11 +604,10 @@ const char *logmsg_reencode(const struct commit *commit,  	if (!output_encoding || !*output_encoding) {  		if (commit_encoding) -			*commit_encoding = -				get_header(commit, msg, "encoding"); +			*commit_encoding = get_header(msg, "encoding");  		return msg;  	} -	encoding = get_header(commit, msg, "encoding"); +	encoding = get_header(msg, "encoding");  	if (commit_encoding)  		*commit_encoding = encoding;  	use_encoding = encoding ? encoding : utf8;  | 
