| 629 | } |
| 630 | |
| 631 | int has_prohibited_utf_bom(const char *enc, const char *data, size_t len) |
| 632 | { |
| 633 | return ( |
| 634 | (same_utf_encoding("UTF-16BE", enc) || |
| 635 | same_utf_encoding("UTF-16LE", enc)) && |
| 636 | (has_bom_prefix(data, len, utf16_be_bom, sizeof(utf16_be_bom)) || |
| 637 | has_bom_prefix(data, len, utf16_le_bom, sizeof(utf16_le_bom))) |
| 638 | ) || ( |
| 639 | (same_utf_encoding("UTF-32BE", enc) || |
| 640 | same_utf_encoding("UTF-32LE", enc)) && |
| 641 | (has_bom_prefix(data, len, utf32_be_bom, sizeof(utf32_be_bom)) || |
| 642 | has_bom_prefix(data, len, utf32_le_bom, sizeof(utf32_le_bom))) |
| 643 | ); |
| 644 | } |
| 645 | |
| 646 | int is_missing_required_utf_bom(const char *enc, const char *data, size_t len) |
| 647 | { |
no test coverage detected