mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
trailer: retire trailer_info_get() from API
Make trailer_info_get() "static" to be file-scoped to trailer.c, because no one outside of trailer.c uses it. Remove its declaration from <trailer.h>. We have to also reposition it to be above parse_trailers(), which depends on it. Signed-off-by: Linus Arver <linus@ucla.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
c1e4b2b18e
commit
cf5c9349de
92
trailer.c
92
trailer.c
@@ -979,6 +979,52 @@ static struct trailer_info *trailer_info_new(void)
|
||||
return info;
|
||||
}
|
||||
|
||||
static struct trailer_info *trailer_info_get(const struct process_trailer_options *opts,
|
||||
const char *str)
|
||||
{
|
||||
struct trailer_info *info = trailer_info_new();
|
||||
size_t end_of_log_message = 0, trailer_block_start = 0;
|
||||
struct strbuf **trailer_lines, **ptr;
|
||||
char **trailer_strings = NULL;
|
||||
size_t nr = 0, alloc = 0;
|
||||
char **last = NULL;
|
||||
|
||||
trailer_config_init();
|
||||
|
||||
end_of_log_message = find_end_of_log_message(str, opts->no_divider);
|
||||
trailer_block_start = find_trailer_block_start(str, end_of_log_message);
|
||||
|
||||
trailer_lines = strbuf_split_buf(str + trailer_block_start,
|
||||
end_of_log_message - trailer_block_start,
|
||||
'\n',
|
||||
0);
|
||||
for (ptr = trailer_lines; *ptr; ptr++) {
|
||||
if (last && isspace((*ptr)->buf[0])) {
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
strbuf_attach(&sb, *last, strlen(*last), strlen(*last));
|
||||
strbuf_addbuf(&sb, *ptr);
|
||||
*last = strbuf_detach(&sb, NULL);
|
||||
continue;
|
||||
}
|
||||
ALLOC_GROW(trailer_strings, nr + 1, alloc);
|
||||
trailer_strings[nr] = strbuf_detach(*ptr, NULL);
|
||||
last = find_separator(trailer_strings[nr], separators) >= 1
|
||||
? &trailer_strings[nr]
|
||||
: NULL;
|
||||
nr++;
|
||||
}
|
||||
strbuf_list_free(trailer_lines);
|
||||
|
||||
info->blank_line_before_trailer = ends_with_blank_line(str,
|
||||
trailer_block_start);
|
||||
info->trailer_block_start = trailer_block_start;
|
||||
info->trailer_block_end = end_of_log_message;
|
||||
info->trailers = trailer_strings;
|
||||
info->trailer_nr = nr;
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
/*
|
||||
* Parse trailers in "str", populating the trailer info and "head"
|
||||
* linked list structure.
|
||||
@@ -1044,52 +1090,6 @@ int blank_line_before_trailer_block(struct trailer_info *info)
|
||||
return info->blank_line_before_trailer;
|
||||
}
|
||||
|
||||
struct trailer_info *trailer_info_get(const struct process_trailer_options *opts,
|
||||
const char *str)
|
||||
{
|
||||
struct trailer_info *info = trailer_info_new();
|
||||
size_t end_of_log_message = 0, trailer_block_start = 0;
|
||||
struct strbuf **trailer_lines, **ptr;
|
||||
char **trailer_strings = NULL;
|
||||
size_t nr = 0, alloc = 0;
|
||||
char **last = NULL;
|
||||
|
||||
trailer_config_init();
|
||||
|
||||
end_of_log_message = find_end_of_log_message(str, opts->no_divider);
|
||||
trailer_block_start = find_trailer_block_start(str, end_of_log_message);
|
||||
|
||||
trailer_lines = strbuf_split_buf(str + trailer_block_start,
|
||||
end_of_log_message - trailer_block_start,
|
||||
'\n',
|
||||
0);
|
||||
for (ptr = trailer_lines; *ptr; ptr++) {
|
||||
if (last && isspace((*ptr)->buf[0])) {
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
strbuf_attach(&sb, *last, strlen(*last), strlen(*last));
|
||||
strbuf_addbuf(&sb, *ptr);
|
||||
*last = strbuf_detach(&sb, NULL);
|
||||
continue;
|
||||
}
|
||||
ALLOC_GROW(trailer_strings, nr + 1, alloc);
|
||||
trailer_strings[nr] = strbuf_detach(*ptr, NULL);
|
||||
last = find_separator(trailer_strings[nr], separators) >= 1
|
||||
? &trailer_strings[nr]
|
||||
: NULL;
|
||||
nr++;
|
||||
}
|
||||
strbuf_list_free(trailer_lines);
|
||||
|
||||
info->blank_line_before_trailer = ends_with_blank_line(str,
|
||||
trailer_block_start);
|
||||
info->trailer_block_start = trailer_block_start;
|
||||
info->trailer_block_end = end_of_log_message;
|
||||
info->trailers = trailer_strings;
|
||||
info->trailer_nr = nr;
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
void trailer_info_release(struct trailer_info *info)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
Reference in New Issue
Block a user