mirror of
https://github.com/git/git.git
synced 2024-11-24 02:17:02 +08:00
fsck.c: remove (mostly) redundant append_msg_id() function
Remove the append_msg_id() function in favor of calling prepare_msg_ids(). We already have code to compute the camel-cased msg_id strings in msg_id_info, let's use it. When the append_msg_id() function was added in71ab8fa840
(fsck: report the ID of the error/warning, 2015-06-22) the prepare_msg_ids() function didn't exist. When prepare_msg_ids() was added ina46baac61e
(fsck: factor out msg_id_info[] lazy initialization code, 2018-05-26) this code wasn't moved over to lazy initialization. This changes the behavior of the code to initialize all the messages instead of just camel-casing the one we need on the fly. Since the common case is that we're printing just one message this is mostly redundant work. But that's OK in this case, reporting this fsck issue to the user isn't performance-sensitive. If we were somehow doing so in a tight loop (in a hopelessly broken repository?) this would help, since we'd save ourselves from re-doing this work for identical messages, we could just grab the prepared string from msg_id_info after the first invocation. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f1abc2d0e1
commit
034a7b7bcc
21
fsck.c
21
fsck.c
@ -264,24 +264,6 @@ void fsck_set_msg_types(struct fsck_options *options, const char *values)
|
||||
free(to_free);
|
||||
}
|
||||
|
||||
static void append_msg_id(struct strbuf *sb, const char *msg_id)
|
||||
{
|
||||
for (;;) {
|
||||
char c = *(msg_id)++;
|
||||
|
||||
if (!c)
|
||||
break;
|
||||
if (c != '_')
|
||||
strbuf_addch(sb, tolower(c));
|
||||
else {
|
||||
assert(*msg_id);
|
||||
strbuf_addch(sb, *(msg_id)++);
|
||||
}
|
||||
}
|
||||
|
||||
strbuf_addstr(sb, ": ");
|
||||
}
|
||||
|
||||
static int object_on_skiplist(struct fsck_options *opts,
|
||||
const struct object_id *oid)
|
||||
{
|
||||
@ -308,7 +290,8 @@ static int report(struct fsck_options *options,
|
||||
else if (msg_type == FSCK_INFO)
|
||||
msg_type = FSCK_WARN;
|
||||
|
||||
append_msg_id(&sb, msg_id_info[id].id_string);
|
||||
prepare_msg_ids();
|
||||
strbuf_addf(&sb, "%s: ", msg_id_info[id].camelcased);
|
||||
|
||||
va_start(ap, fmt);
|
||||
strbuf_vaddf(&sb, fmt, ap);
|
||||
|
Loading…
Reference in New Issue
Block a user