diff options
Diffstat (limited to 'libcoopgamma_filter_destroy.c')
-rw-r--r-- | libcoopgamma_filter_destroy.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libcoopgamma_filter_destroy.c b/libcoopgamma_filter_destroy.c new file mode 100644 index 0000000..89765ad --- /dev/null +++ b/libcoopgamma_filter_destroy.c @@ -0,0 +1,21 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + + +/** + * Release all resources allocated to a `libcoopgamma_filter_t`, + * the allocation of the record itself is not freed + * + * Always call this function after failed call to `libcoopgamma_filter_initialise` + * or failed call to `libcoopgamma_filter_unmarshal` + * + * @param this The record to destroy + */ +void +libcoopgamma_filter_destroy(libcoopgamma_filter_t *restrict this) +{ + free(this->crtc); + free(this->class); + free(this->ramps.u8.red); + memset(this, 0, sizeof(*this)); +} |