| 6705 | } |
| 6706 | |
| 6707 | static bool cli_checksum_line_references_archive(const unsigned char *line, size_t line_length, |
| 6708 | const char *archive_name, |
| 6709 | size_t archive_name_length) { |
| 6710 | if (!line || !archive_name || line_length < archive_name_length || |
| 6711 | memcmp(line + line_length - archive_name_length, archive_name, archive_name_length) != 0) { |
| 6712 | return false; |
| 6713 | } |
| 6714 | size_t prefix_length = line_length - archive_name_length; |
| 6715 | if (prefix_length == 0) { |
| 6716 | return true; |
| 6717 | } |
| 6718 | unsigned char separator = line[prefix_length - 1U]; |
| 6719 | return separator == (unsigned char)' ' || separator == (unsigned char)'\t' || |
| 6720 | separator == (unsigned char)'*'; |
| 6721 | } |
| 6722 | |
| 6723 | static bool cli_checksum_line_digest(const unsigned char *line, size_t line_length, |
| 6724 | const char *archive_name, size_t archive_name_length, |
no outgoing calls
no test coverage detected