diff options
author | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-14 17:21:18 +0000 |
---|---|---|
committer | mvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-07-14 17:21:18 +0000 |
commit | 0bddb3b02abfc5df799e4f4525da583577387402 (patch) | |
tree | 38596a63ee5cbd4e702beab0e1fb94ea9944ecea /main/dnsmgr.c | |
parent | f0794b328873c23fe32dddc7f91de632939acac3 (diff) |
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/trunk@130744 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/dnsmgr.c')
-rw-r--r-- | main/dnsmgr.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/main/dnsmgr.c b/main/dnsmgr.c index 727d8b5fc..2df778b45 100644 --- a/main/dnsmgr.c +++ b/main/dnsmgr.c @@ -285,20 +285,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; } @@ -414,7 +423,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 |