From: Evan Hunt Date: Sun, 31 Jan 2016 18:17:13 +0000 (-0800) Subject: [master] remove "none" from log messages when parsing global config X-Git-Tag: v9.11.0a1~152 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=3fe17d62e32017b643b852ede1b234271ee308e1;p=thirdparty%2Fbind9.git [master] remove "none" from log messages when parsing global config 4309. [cleanup] Remove the spurious "none" filename from log messages when processing built-in configuration. [RT #41594] --- diff --git a/CHANGES b/CHANGES index dbb7c792801..019d5479f70 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4309. [cleanup] Remove the spurious "none" filename from log messages + when processing built-in configuration. [RT #41594] + 4308. [func] Added operating system details to "named -V" output. [RT #41452] diff --git a/lib/isccfg/include/isccfg/grammar.h b/lib/isccfg/include/isccfg/grammar.h index f20d91a7c9c..34afc11a615 100644 --- a/lib/isccfg/include/isccfg/grammar.h +++ b/lib/isccfg/include/isccfg/grammar.h @@ -167,6 +167,7 @@ struct cfg_obj { isc_refcount_t references; /*%< reference counter */ const char * file; unsigned int line; + cfg_parser_t * pctx; }; diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c index b9621ef43a4..c81120f2019 100644 --- a/lib/isccfg/parser.c +++ b/lib/isccfg/parser.c @@ -2715,13 +2715,15 @@ cfg_obj_log(const cfg_obj_t *obj, isc_log_t *lctx, int level, return; va_start(ap, fmt); - vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap); - isc_log_write(lctx, CAT, MOD, level, - "%s:%u: %s", - obj->file == NULL ? "" : obj->file, - obj->line, msgbuf); va_end(ap); + + if (have_current_file(obj->pctx)) { + isc_log_write(lctx, CAT, MOD, level, + "%s:%u: %s", obj->file, obj->line, msgbuf); + } else { + isc_log_write(lctx, CAT, MOD, level, "%s", msgbuf); + } } const char * @@ -2742,15 +2744,19 @@ cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { obj = isc_mem_get(pctx->mctx, sizeof(cfg_obj_t)); if (obj == NULL) return (ISC_R_NOMEMORY); + obj->type = type; obj->file = current_file(pctx); obj->line = pctx->line; + obj->pctx = pctx; + result = isc_refcount_init(&obj->references, 1); if (result != ISC_R_SUCCESS) { isc_mem_put(pctx->mctx, obj, sizeof(cfg_obj_t)); return (result); } *ret = obj; + return (ISC_R_SUCCESS); }