| 8609 | } |
| 8610 | |
| 8611 | int FreeEXRHeader(EXRHeader *exr_header) { |
| 8612 | if (exr_header == NULL) { |
| 8613 | return TINYEXR_ERROR_INVALID_ARGUMENT; |
| 8614 | } |
| 8615 | |
| 8616 | if (exr_header->channels) { |
| 8617 | free(exr_header->channels); |
| 8618 | } |
| 8619 | |
| 8620 | if (exr_header->pixel_types) { |
| 8621 | free(exr_header->pixel_types); |
| 8622 | } |
| 8623 | |
| 8624 | if (exr_header->requested_pixel_types) { |
| 8625 | free(exr_header->requested_pixel_types); |
| 8626 | } |
| 8627 | |
| 8628 | for (int i = 0; i < exr_header->num_custom_attributes; i++) { |
| 8629 | if (exr_header->custom_attributes[i].value) { |
| 8630 | free(exr_header->custom_attributes[i].value); |
| 8631 | } |
| 8632 | } |
| 8633 | |
| 8634 | if (exr_header->custom_attributes) { |
| 8635 | free(exr_header->custom_attributes); |
| 8636 | } |
| 8637 | |
| 8638 | EXRSetNameAttr(exr_header, NULL); |
| 8639 | |
| 8640 | return TINYEXR_SUCCESS; |
| 8641 | } |
| 8642 | |
| 8643 | void EXRSetNameAttr(EXRHeader* exr_header, const char* name) { |
| 8644 | if (exr_header == NULL) { |
no test coverage detected