| 8695 | } |
| 8696 | |
| 8697 | int ParseEXRHeaderFromFile(EXRHeader *exr_header, const EXRVersion *exr_version, |
| 8698 | const char *filename, const char **err) { |
| 8699 | if (exr_header == NULL || exr_version == NULL || filename == NULL) { |
| 8700 | tinyexr::SetErrorMessage("Invalid argument for ParseEXRHeaderFromFile", |
| 8701 | err); |
| 8702 | return TINYEXR_ERROR_INVALID_ARGUMENT; |
| 8703 | } |
| 8704 | |
| 8705 | MemoryMappedFile file(filename); |
| 8706 | if (!file.valid()) { |
| 8707 | tinyexr::SetErrorMessage("Cannot read file " + std::string(filename), err); |
| 8708 | return TINYEXR_ERROR_CANT_OPEN_FILE; |
| 8709 | } |
| 8710 | |
| 8711 | return ParseEXRHeaderFromMemory(exr_header, exr_version, file.data, file.size, |
| 8712 | err); |
| 8713 | } |
| 8714 | |
| 8715 | int ParseEXRMultipartHeaderFromMemory(EXRHeader ***exr_headers, |
| 8716 | int *num_headers, |
no test coverage detected