From f3cc89d2341901b7fbc2cc82a45dcfb5f28b28c0 Mon Sep 17 00:00:00 2001 From: Jim Derry Date: Sun, 27 Apr 2014 18:11:50 +0800 Subject: [PATCH] Correctly use a copy of args so both filters can work. --- src/localize.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/localize.c b/src/localize.c index ab2b416..8744458 100755 --- a/src/localize.c +++ b/src/localize.c @@ -1028,6 +1028,8 @@ static void messagePos( TidyDocImpl* doc, TidyReportLevel level, if ( go ) { + va_list args_copy; + va_copy(args_copy, args); TY_(tmbvsnprintf)(messageBuf, sizeMessageBuf, msg, args); if ( doc->mssgFilt ) { @@ -1037,7 +1039,7 @@ static void messagePos( TidyDocImpl* doc, TidyReportLevel level, if ( doc->mssgFilt2 ) { TidyDoc tdoc = tidyImplToDoc( doc ); - go = doc->mssgFilt2( tdoc, level, line, col, msg, args ); + go = doc->mssgFilt2( tdoc, level, line, col, msg, args_copy ); } }