strbuf: accept a comment string for strbuf_stripspace()
As part of our transition to multi-byte comment characters, let's take a NUL-terminated string pointer for strbuf_stripspace(), rather than a single character. We can continue to support its feature of ignoring comments by accepting a NULL pointer (as opposed to the current behavior of a NUL byte). All of the callers have to be adjusted, but they can all just pass comment_line_str (or NULL). Inside the function we detect comments by comparing the first byte of a line to the comment character. We'll adjust that to use starts_with(), which will match multiple bytes (though for now, of course, we still only allow a single byte, so it's academic). 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
72a7d5d97f
commit
2982b65690
@ -1152,7 +1152,7 @@ void cleanup_message(struct strbuf *msgbuf,
|
||||
strbuf_setlen(msgbuf, wt_status_locate_end(msgbuf->buf, msgbuf->len));
|
||||
if (cleanup_mode != COMMIT_MSG_CLEANUP_NONE)
|
||||
strbuf_stripspace(msgbuf,
|
||||
cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_char : '\0');
|
||||
cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_str : NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1184,7 +1184,7 @@ int template_untouched(const struct strbuf *sb, const char *template_file,
|
||||
return 0;
|
||||
|
||||
strbuf_stripspace(&tmpl,
|
||||
cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_char : '\0');
|
||||
cleanup_mode == COMMIT_MSG_CLEANUP_ALL ? comment_line_str : NULL);
|
||||
if (!skip_prefix(sb->buf, tmpl.buf, &start))
|
||||
start = sb->buf;
|
||||
strbuf_release(&tmpl);
|
||||
@ -1557,7 +1557,7 @@ static int try_to_commit(struct repository *r,
|
||||
|
||||
if (cleanup != COMMIT_MSG_CLEANUP_NONE)
|
||||
strbuf_stripspace(msg,
|
||||
cleanup == COMMIT_MSG_CLEANUP_ALL ? comment_line_char : '\0');
|
||||
cleanup == COMMIT_MSG_CLEANUP_ALL ? comment_line_str : NULL);
|
||||
if ((flags & EDIT_MSG) && message_is_empty(msg, cleanup)) {
|
||||
res = 1; /* run 'git commit' to display error message */
|
||||
goto out;
|
||||
|
Reference in New Issue
Block a user