From: Tobias Brunner Date: Wed, 14 May 2014 15:19:41 +0000 (+0200) Subject: parser-helper: Make parser_helper_log a function X-Git-Tag: 5.2.0dr4~1^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c976cc7d33d6c3aeeb6e2a8a82c10401f629f93c;p=thirdparty%2Fstrongswan.git parser-helper: Make parser_helper_log a function --- diff --git a/src/libstrongswan/utils/parser_helper.c b/src/libstrongswan/utils/parser_helper.c index 5093166651..403cca92ba 100644 --- a/src/libstrongswan/utils/parser_helper.c +++ b/src/libstrongswan/utils/parser_helper.c @@ -15,6 +15,7 @@ #include #include +#include #include "parser_helper.h" @@ -196,6 +197,32 @@ METHOD(parser_helper_t, destroy, void, free(this); } +/** + * Described in header + */ +void parser_helper_log(int level, parser_helper_t *ctx, char *fmt, ...) +{ + parser_helper_file_t *file; + char msg[8192]; + va_list args; + int line; + + va_start(args, fmt); + vsnprintf(msg, sizeof(msg), fmt, args); + va_end(args); + + file = ctx->file_current(ctx); + line = ctx->get_lineno ? ctx->get_lineno(ctx->scanner) : 0; + if (file) + { + dbg(DBG_CFG, level, "%s:%d: %s", file->name, line, msg); + } + else + { + dbg(DBG_CFG, level, "%s", msg); + } +} + /** * Described in header */ diff --git a/src/libstrongswan/utils/parser_helper.h b/src/libstrongswan/utils/parser_helper.h index 741582d2c5..6a2c26c8e1 100644 --- a/src/libstrongswan/utils/parser_helper.h +++ b/src/libstrongswan/utils/parser_helper.h @@ -148,15 +148,7 @@ struct parser_helper_file_t { * @param fmt error message format * @param ... additional arguments */ -#define parser_helper_log(level, ctx, fmt, ...) ({ \ - parser_helper_file_t *_file = (ctx)->file_current(ctx); \ - int _line = (ctx)->get_lineno ? (ctx)->get_lineno((ctx)->scanner) : 0; \ - if (_file) {\ - DBG##level(DBG_CFG, "%s:%d: " fmt, _file->name, _line, ##__VA_ARGS__); \ - } else { \ - DBG##level(DBG_CFG, fmt, ##__VA_ARGS__); \ - } \ -}) +void parser_helper_log(int level, parser_helper_t *ctx, char *fmt, ...); #define PARSER_DBG1(ctx, fmt, ...) parser_helper_log(1, ctx, fmt, ##__VA_ARGS__) #define PARSER_DBG2(ctx, fmt, ...) parser_helper_log(2, ctx, fmt, ##__VA_ARGS__)