aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-29 22:36:29 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-29 22:36:29 +0000
commitfcfda97ed2478ac34b65ba502ad183583c446476 (patch)
tree14fbbf17c6fd97c221d60fc1618ebfd3528412dc
parentdf4f71e2d6d629bfcae42e785b4e934db6207837 (diff)
Merged revisions 44053 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r44053 | qwell | 2006-09-29 15:35:09 -0700 (Fri, 29 Sep 2006) | 3 lines 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/trunk@44054 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--main/asterisk.c4
-rw-r--r--main/cli.c63
2 files changed, 54 insertions, 13 deletions
diff --git a/main/asterisk.c b/main/asterisk.c
index 91d4513d0..ae8a56b01 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -2074,9 +2074,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 fb11648eb..51807d969 100644
--- a/main/cli.c
+++ b/main/cli.c
@@ -175,12 +175,28 @@ static int handle_reload(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) {
@@ -197,21 +213,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)