diff options
author | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-29 22:35:09 +0000 |
---|---|---|
committer | qwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-29 22:35:09 +0000 |
commit | 8db549642d02e7a37783caec3d1b9929cfa5db55 (patch) | |
tree | 52b158559b0e9a907d1ff6092524c26b69806978 /main | |
parent | 1bbcfdbcf9bd1265ac55e97495b6da9708042259 (diff) |
Fix a bug with the removal of 'atleast' argument to 'core verbose' and 'core debug'.
Add that argument back in.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@44053 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/asterisk.c | 4 | ||||
-rw-r--r-- | main/cli.c | 63 |
2 files changed, 54 insertions, 13 deletions
diff --git a/main/asterisk.c b/main/asterisk.c index 417036b52..cdac99b25 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -2138,9 +2138,9 @@ static void ast_remotecontrol(char * data) pid = atoi(cpid); else pid = -1; - snprintf(tmp, sizeof(tmp), "core verbose %d", option_verbose); + snprintf(tmp, sizeof(tmp), "core verbose atleast %d", option_verbose); fdprint(ast_consock, tmp); - snprintf(tmp, sizeof(tmp), "core debug %d", option_debug); + snprintf(tmp, sizeof(tmp), "core debug atleast %d", option_debug); fdprint(ast_consock, tmp); if (ast_opt_mute) { snprintf(tmp, sizeof(tmp), "log and verbose output currently muted ('logger unmute' to unmute)"); diff --git a/main/cli.c b/main/cli.c index b844774fc..d80738d66 100644 --- a/main/cli.c +++ b/main/cli.c @@ -236,12 +236,28 @@ static int handle_set_verbose_deprecated(int fd, int argc, char *argv[]) static int handle_verbose(int fd, int argc, char *argv[]) { int oldval = option_verbose; + int newlevel; + int atleast = 0; - if (argc == 3) - option_verbose = atoi(argv[2]); - else + if ((argc < 3) || (argc > 4)) return RESULT_SHOWUSAGE; + if (!strcasecmp(argv[2], "atleast")) + atleast = 1; + + if (!atleast) { + if (argc > 3) + return RESULT_SHOWUSAGE; + + option_verbose = atoi(argv[2]); + } else { + if (argc < 4) + return RESULT_SHOWUSAGE; + + newlevel = atoi(argv[3]); + if (newlevel > option_verbose) + option_verbose = newlevel; + } if (oldval > 0 && option_verbose == 0) ast_cli(fd, "Verbosity is now OFF\n"); else if (option_verbose > 0) { @@ -285,21 +301,46 @@ static int handle_debug(int fd, int argc, char *argv[]) { int oldval = option_debug; int newlevel; + int atleast = 0; char *filename = '\0'; - if ((argc < 3) || (argc > 4)) + if ((argc < 3) || (argc > 5)) return RESULT_SHOWUSAGE; - if (sscanf(argv[2], "%d", &newlevel) != 1) - return RESULT_SHOWUSAGE; + if (!strcasecmp(argv[2], "atleast")) + atleast = 1; - option_debug = newlevel; + if (!atleast) { + if (argc > 4) + return RESULT_SHOWUSAGE; - if (argc == 4) { - filename = argv[3]; - ast_copy_string(debug_filename, filename, sizeof(debug_filename)); + if (sscanf(argv[2], "%d", &newlevel) != 1) + return RESULT_SHOWUSAGE; + + if (argc == 3) { + debug_filename[0] = '\0'; + } else { + filename = argv[3]; + ast_copy_string(debug_filename, filename, sizeof(debug_filename)); + } + + option_debug = newlevel; } else { - debug_filename[0] = '\0'; + if (argc < 4) + return RESULT_SHOWUSAGE; + + if (sscanf(argv[3], "%d", &newlevel) != 1) + return RESULT_SHOWUSAGE; + + if (argc == 4) { + debug_filename[0] = '\0'; + } else { + filename = argv[4]; + ast_copy_string(debug_filename, filename, sizeof(debug_filename)); + } + + if (newlevel > option_debug) + option_debug = newlevel; } if (oldval > 0 && option_debug == 0) |