Merged revisions 44053 via svnmerge from
authorJason Parker <jparker@digium.com>
Fri, 29 Sep 2006 22:36:29 +0000 (22:36 +0000)
committerJason Parker <jparker@digium.com>
Fri, 29 Sep 2006 22:36:29 +0000 (22:36 +0000)
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: https://origsvn.digium.com/svn/asterisk/trunk@44054 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c
main/cli.c

index 91d4513..ae8a56b 100644 (file)
@@ -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)");
index fb11648..51807d9 100644 (file)
@@ -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)