From ff7e486b9d7084973124e9805e302377bf2f4415 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Sun, 24 Nov 2019 14:44:05 -0500 Subject: Reset the output buffer on render Reset the output buffer when TMPL_render() is called so that only only the latest render errors are preserved. --- src/ctemplates.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/ctemplates.c b/src/ctemplates.c index fb055e6..74d6098 100644 --- a/src/ctemplates.c +++ b/src/ctemplates.c @@ -1257,9 +1257,15 @@ TMPL_render_helper(struct TMPL_templates* t, struct TMPL_varlist* varlist){ char* TMPL_render(struct TMPL_templates* t, struct TMPL_varlist* varlist, size_t* size_p){ int err; + /*Reset the output buffer*/ if(t->out != NULL){ free_tmpl_buf(t->out); } + /*Reset the error buffer, if needed*/ + if(t->errout != NULL && t->errout->total_len > 0){ + free_tmpl_buf(t->errout); + t->errout = alloc_tmpl_buf(); + } t->out = alloc_tmpl_buf(); t->cursor = t->roottag; err = TMPL_render_helper(t,varlist); -- cgit v1.2.3-70-g09d2