diff options
Diffstat (limited to '')
| -rw-r--r-- | liblog_destroy_context.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/liblog_destroy_context.c b/liblog_destroy_context.c new file mode 100644 index 0000000..57192ac --- /dev/null +++ b/liblog_destroy_context.c @@ -0,0 +1,32 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" +#ifndef TEST + +int +liblog_destroy_context(struct liblog_context *ctx) +{ + int ret = 0; + + if (!ctx) + return 0; + + while (ctx->noutputs) + ret |= liblog_destroy_output(&ctx->outputs[--ctx->noutputs]); + free(ctx->outputs); + ctx->outputs = NULL; + + if (ctx->internal_state) { + free(ctx->internal_state->msg.prefix); + free(ctx->internal_state->msg.text); + free(ctx->internal_state); + ctx->internal_state = NULL; + } + + return ret; +} + +#else + +int main(void) {return 0;} /* TODO test */ + +#endif |
