environment: store comment_line_char as a string
We'd like to eventually support multi-byte comment prefixes, but the comment_line_char variable is referenced in many spots, making the transition difficult. Let's start by storing the character in a NUL-terminated string. That will let us switch code over incrementally to the string format, and we can easily support the existing code with a macro wrapper (since we'll continue to allow only a single-byte prefix, this will behave identically). Once all references to the "char" variable have been converted, we can drop it and enable longer strings. We'll still have to touch all of the spots that create or set the variable in this patch, but there are only a few (reading the config, and the "auto" character selector). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
2786d058b6
commit
72a7d5d97f
@ -685,7 +685,7 @@ static void adjust_comment_line_char(const struct strbuf *sb)
|
||||
const char *p;
|
||||
|
||||
if (!memchr(sb->buf, candidates[0], sb->len)) {
|
||||
comment_line_char = candidates[0];
|
||||
comment_line_str = xstrfmt("%c", candidates[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -706,7 +706,7 @@ static void adjust_comment_line_char(const struct strbuf *sb)
|
||||
if (!*p)
|
||||
die(_("unable to select a comment character that is not used\n"
|
||||
"in the current commit message"));
|
||||
comment_line_char = *p;
|
||||
comment_line_str = xstrfmt("%c", *p);
|
||||
}
|
||||
|
||||
static void prepare_amend_commit(struct commit *commit, struct strbuf *sb,
|
||||
|
||||
Reference in New Issue
Block a user