| 8447 | }; |
| 8448 | |
| 8449 | int LoadEXRImageFromFile(EXRImage *exr_image, const EXRHeader *exr_header, |
| 8450 | const char *filename, const char **err) { |
| 8451 | if (exr_image == NULL) { |
| 8452 | tinyexr::SetErrorMessage("Invalid argument for LoadEXRImageFromFile", err); |
| 8453 | return TINYEXR_ERROR_INVALID_ARGUMENT; |
| 8454 | } |
| 8455 | |
| 8456 | MemoryMappedFile file(filename); |
| 8457 | if (!file.valid()) { |
| 8458 | tinyexr::SetErrorMessage("Cannot read file " + std::string(filename), err); |
| 8459 | return TINYEXR_ERROR_CANT_OPEN_FILE; |
| 8460 | } |
| 8461 | |
| 8462 | if (file.size < 16) { |
| 8463 | tinyexr::SetErrorMessage("File size too short : " + std::string(filename), |
| 8464 | err); |
| 8465 | return TINYEXR_ERROR_INVALID_FILE; |
| 8466 | } |
| 8467 | |
| 8468 | return LoadEXRImageFromMemory(exr_image, exr_header, file.data, file.size, |
| 8469 | err); |
| 8470 | } |
| 8471 | |
| 8472 | int LoadEXRImageFromMemory(EXRImage *exr_image, const EXRHeader *exr_header, |
| 8473 | const unsigned char *memory, const size_t size, |
no test coverage detected