| #include "gpg-interface.h" |
| int cmd__delete_gpgsig(int argc, const char **argv) |
| struct strbuf buf = STRBUF_INIT; |
| const char *pattern = "gpgsig"; |
| const char *bufptr, *tail, *eol; |
| if (!strcmp(pattern, "trailer")) { |
| size_t payload_size = parse_signed_buffer(buf.buf, buf.len); |
| fwrite(buf.buf, 1, payload_size, stdout); |
| /* Find the end of the line */ |
| eol = memchr(bufptr, '\n', tail - bufptr); |
| /* Drop continuation lines */ |
| if (deleting && (bufptr < eol) && (bufptr[0] == ' ')) { |
| /* Does the line match the prefix? */ |
| if (((bufptr + plen) < eol) && |
| !memcmp(bufptr, pattern, plen) && |
| /* Print all other lines */ |
| fwrite(bufptr, 1, (eol - bufptr) + 1, stdout); |