path: root/include/erec.h
diff options
authorPhil Sutter <>2017-10-04 15:59:32 +0200
committerPablo Neira Ayuso <>2017-10-06 14:30:56 +0200
commit881fad86fa4942571c74cdfa89831a2cd25dbe16 (patch)
tree8ddd4a0fde3e6306ad63884c691f02641b1dd255 /include/erec.h
parentb873a1731d2481851c57eab3dcf3e719e9d45b50 (diff)
evaluate: Fix debug output
When introducing output_fp, debug output in src/evaluate.c was not adjusted and therefore broke. This patch restores eval debug output by applying the following changes: - Change erec_print() and erec_print_list() to take a struct output_ctx pointer as first argument and use output_fp field as destination to print to. - Drop octx_debug_dummy variable and instead use octx pointer from struct eval_ctx for debug output. - Add missing calls to erec_destroy() in eval debug output which should eliminate another mem leak. Fixes: 2535ba7006f22 ("src: get rid of printf") Signed-off-by: Phil Sutter <> Signed-off-by: Pablo Neira Ayuso <>
Diffstat (limited to 'include/erec.h')
1 files changed, 3 insertions, 2 deletions
diff --git a/include/erec.h b/include/erec.h
index 223cb12d..79a16290 100644
--- a/include/erec.h
+++ b/include/erec.h
@@ -46,6 +46,7 @@ extern struct error_record *erec_create(enum error_record_types type,
const char *fmt, ...) __gmp_fmtstring(3, 4);
extern void erec_add_location(struct error_record *erec,
const struct location *loc);
+extern void erec_destroy(struct error_record *erec);
#define error(loc, fmt, args...) \
erec_create(EREC_ERROR, (loc), (fmt), ## args)
@@ -58,9 +59,9 @@ static inline void erec_queue(struct error_record *erec,
list_add_tail(&erec->list, queue);
-extern void erec_print(FILE *f, const struct error_record *erec,
+extern void erec_print(struct output_ctx *octx, const struct error_record *erec,
unsigned int debug_mask);
-extern void erec_print_list(FILE *f, struct list_head *list,
+extern void erec_print_list(struct output_ctx *octx, struct list_head *list,
unsigned int debug_mask);
struct eval_ctx;