From b6a4cc6927f45f202826c4dc6bb29cd8aeba90ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tatuya=20JINMEI=20=E7=A5=9E=E6=98=8E=E9=81=94=E5=93=89?= Date: Thu, 10 Oct 2002 13:22:00 +0000 Subject: [PATCH] prevented 'named-checkconf -z' from stopping due to an intermediate fail RT #3653 developer: marka reviewer: jinmei --- bin/check/named-checkconf.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/bin/check/named-checkconf.c b/bin/check/named-checkconf.c index 95dd11d93f..ee75513401 100644 --- a/bin/check/named-checkconf.c +++ b/bin/check/named-checkconf.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkconf.c,v 1.26 2002/07/11 04:50:34 marka Exp $ */ +/* $Id: named-checkconf.c,v 1.27 2002/10/10 13:22:00 jinmei Exp $ */ #include @@ -129,6 +129,7 @@ configure_view(const char *vclass, const char *view, cfg_obj_t *config, cfg_obj_t *voptions; cfg_obj_t *zonelist; isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; voptions = NULL; if (vconfig != NULL) @@ -145,9 +146,10 @@ configure_view(const char *vclass, const char *view, cfg_obj_t *config, element = cfg_list_next(element)) { cfg_obj_t *zconfig = cfg_listelt_value(element); - CHECK(configure_zone(vclass, view, zconfig, mctx)); + tresult = configure_zone(vclass, view, zconfig, mctx); + if (tresult != ISC_R_SUCCESS) + result = tresult; } - cleanup: return (result); } @@ -160,6 +162,7 @@ load_zones_fromconfig(cfg_obj_t *config, isc_mem_t *mctx) { cfg_obj_t *vconfig; const char *vclass; isc_result_t result = ISC_R_SUCCESS; + isc_result_t tresult; views = NULL; @@ -178,12 +181,16 @@ load_zones_fromconfig(cfg_obj_t *config, isc_mem_t *mctx) { vclass = cfg_obj_asstring(classobj); } vname = cfg_obj_asstring(cfg_tuple_get(vconfig, "name")); - CHECK(configure_view(vclass, vname, config, vconfig, mctx)); + tresult = configure_view(vclass, vname, config, vconfig, mctx); + if (tresult != ISC_R_SUCCESS) + result = tresult; } - if (views == NULL) - CHECK(configure_view("IN", "_default", config, NULL, mctx)); - cleanup: + if (views == NULL) { + tresult = configure_view("IN", "_default", config, NULL, mctx); + if (tresult != ISC_R_SUCCESS) + result = tresult; + } return (result); }