зеркало из https://github.com/microsoft/git.git
gpg-interface: extract gpg line matching helper
Let's separate the actual line-by-line parsing of signatures from the notion of "is this a gpg signature line". That will make it easier to do more refactoring of this loop in future patches. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Ben Toews <mastahyeti@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
17ef3a421e
Коммит
f68f2dd57f
|
@ -101,11 +101,16 @@ void print_signature_buffer(const struct signature_check *sigc, unsigned flags)
|
|||
fputs(output, stderr);
|
||||
}
|
||||
|
||||
static int is_gpg_start(const char *line)
|
||||
{
|
||||
return starts_with(line, PGP_SIGNATURE) ||
|
||||
starts_with(line, PGP_MESSAGE);
|
||||
}
|
||||
|
||||
size_t parse_signature(const char *buf, size_t size)
|
||||
{
|
||||
size_t len = 0;
|
||||
while (len < size && !starts_with(buf + len, PGP_SIGNATURE) &&
|
||||
!starts_with(buf + len, PGP_MESSAGE)) {
|
||||
while (len < size && !is_gpg_start(buf + len)) {
|
||||
const char *eol = memchr(buf + len, '\n', size - len);
|
||||
len += eol ? eol - (buf + len) + 1 : size - len;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче