]> granicus.if.org Git - neomutt/commitdiff
logging: improve range logic
authorRichard Russon <rich@flatcap.org>
Mon, 18 Mar 2019 22:46:59 +0000 (22:46 +0000)
committerRichard Russon <rich@flatcap.org>
Thu, 21 Mar 2019 15:25:43 +0000 (15:25 +0000)
main.c
mutt/logging.c
mutt/logging.h
mutt_logging.c

diff --git a/main.c b/main.c
index 4c433271a5b377f8aca20966c77a818106465252..4a0f585a9b4e2b9a5e24b545a95897222751b6ad 100644 (file)
--- a/main.c
+++ b/main.c
@@ -623,7 +623,7 @@ int main(int argc, char *argv[], char *envp[])
   if (dlevel)
   {
     short num = 0;
-    if ((mutt_str_atos(dlevel, &num) < 0) || (num < LL_MESSAGE) || (num > LL_DEBUG5))
+    if ((mutt_str_atos(dlevel, &num) < 0) || (num < LL_MESSAGE) || (num >= LL_MAX))
     {
       mutt_error(_("Error: value '%s' is invalid for -d"), dlevel);
       goto main_exit; // TEST07: neomutt -d xyz
index 2192e41052f9f65d3007cb8472daf8e593b1e1ab..8e93503ffc12515f9a37e53155337399bca4a763 100644 (file)
@@ -166,11 +166,11 @@ int log_file_set_filename(const char *file, bool verbose)
  * @retval  0 Success
  * @retval -1 Error, level is out of range
  *
- * The level can be between 0 and LL_DEBUG5.
+ * The level should be: LL_MESSAGE <= level < LL_MAX.
  */
 int log_file_set_level(int level, bool verbose)
 {
-  if ((level < 0) || (level > 5))
+  if ((level < LL_MESSAGE) || (level >= LL_MAX))
     return -1;
 
   if (level == LogFileLevel)
@@ -178,7 +178,7 @@ int log_file_set_level(int level, bool verbose)
 
   LogFileLevel = level;
 
-  if (level == 0)
+  if (level == LL_MESSAGE)
   {
     log_file_close(verbose);
   }
@@ -194,7 +194,7 @@ int log_file_set_level(int level, bool verbose)
     log_file_open(verbose);
   }
 
-  if (LogFileLevel == LL_DEBUG5)
+  if (LogFileLevel >= LL_DEBUG5)
   {
     fprintf(LogFileFP,
             "\n"
index 148ba09123d8ee3d4663987e85437dcadeca2ef7..ac219be30bff362f363b88540aa4b5549e77daef 100644 (file)
@@ -58,6 +58,8 @@ enum LogLevel
   LL_DEBUG3  =  3, ///< Log at debug level 3
   LL_DEBUG4  =  4, ///< Log at debug level 4
   LL_DEBUG5  =  5, ///< Log at debug level 5
+
+  LL_MAX,
 };
 
 /**
index 3b6f10bcd760d02a0ef982eb9e1d1828e243c9f5..0a53147b820c33302cb4738904118a9126b7be8a 100644 (file)
@@ -325,7 +325,7 @@ int mutt_log_start(void)
 int level_validator(const struct ConfigSet *cs, const struct ConfigDef *cdef,
                     intptr_t value, struct Buffer *err)
 {
-  if ((value < 0) || (value > LL_DEBUG5))
+  if ((value < 0) || (value >= LL_MAX))
   {
     mutt_buffer_printf(err, _("Invalid value for option %s: %ld"), cdef->name, value);
     return CSR_ERR_INVALID;