From e5962de9eb7a9e6f92de89bd7829659fecc0318d Mon Sep 17 00:00:00 2001 From: mvanbaak Date: Mon, 14 Jul 2008 17:22:54 +0000 Subject: Merged revisions 130744 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r130744 | mvanbaak | 2008-07-14 19:21:18 +0200 (Mon, 14 Jul 2008) | 18 lines Merged revisions 130735 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r130735 | mvanbaak | 2008-07-14 19:10:21 +0200 (Mon, 14 Jul 2008) | 10 lines notify the user that dnsmgr refresh wont work when dnsmgr is not enabled. Previously this command would automagically appear and disappear. This was confusing. (closes issue #12796) Reported by: chappell Patches: dnsmgr_refresh_3.diff uploaded by chappell (license 8) Tested by: russell, chappell, mvanbaak ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@130752 f38db490-d61c-443f-a65b-d21fe96a405b --- main/dnsmgr.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'main') diff --git a/main/dnsmgr.c b/main/dnsmgr.c index 19fd1baa7..2c1d8f943 100644 --- a/main/dnsmgr.c +++ b/main/dnsmgr.c @@ -287,20 +287,29 @@ static char *handle_cli_refresh(struct ast_cli_entry *e, int cmd, struct ast_cli case CLI_GENERATE: return NULL; } - if (a->argc > 3) + + if (!enabled) { + ast_cli(a->fd, "DNS Manager is disabled.\n"); + return 0; + } + + if (a->argc > 3) { return CLI_SHOWUSAGE; + } if (a->argc == 3) { - if ( regcomp(&info.filter, a->argv[2], REG_EXTENDED | REG_NOSUB) ) + if (regcomp(&info.filter, a->argv[2], REG_EXTENDED | REG_NOSUB)) { return CLI_SHOWUSAGE; - else + } else { info.regex_present = 1; + } } refresh_list(&info); - if (info.regex_present) + if (info.regex_present) { regfree(&info.filter); + } return CLI_SUCCESS; } @@ -416,7 +425,6 @@ static int do_reload(int loading) pthread_kill(refresh_thread, SIGURG); pthread_join(refresh_thread, NULL); refresh_thread = AST_PTHREADT_NULL; - ast_cli_unregister(&cli_refresh); res = 0; } else -- cgit v1.2.3