| 644 | } |
| 645 | |
| 646 | int is_missing_required_utf_bom(const char *enc, const char *data, size_t len) |
| 647 | { |
| 648 | return ( |
| 649 | (same_utf_encoding(enc, "UTF-16")) && |
| 650 | !(has_bom_prefix(data, len, utf16_be_bom, sizeof(utf16_be_bom)) || |
| 651 | has_bom_prefix(data, len, utf16_le_bom, sizeof(utf16_le_bom))) |
| 652 | ) || ( |
| 653 | (same_utf_encoding(enc, "UTF-32")) && |
| 654 | !(has_bom_prefix(data, len, utf32_be_bom, sizeof(utf32_be_bom)) || |
| 655 | has_bom_prefix(data, len, utf32_le_bom, sizeof(utf32_le_bom))) |
| 656 | ); |
| 657 | } |
| 658 | |
| 659 | /* |
| 660 | * Returns first character length in bytes for multi-byte `text` according to |
no test coverage detected