Exemplo n.º 1
0
char *logmask_to_str(const log_mask_t &mask, char *buf, int size)
{
   if (buf == nullptr || size <= 0)
   {
      return(buf);
   }

   int  last_sev = -1;
   bool is_range = false;
   int  len      = 0;

   for (int sev = 0; sev < 256; sev++)
   {
      if (logmask_test(mask, static_cast<log_sev_t>(sev)))
      {
         if (last_sev == -1)
         {
            len += snprintf(&buf[len], size - len, "%d,", sev);
         }
         else
         {
            is_range = true;
         }
         last_sev = sev;
      }
      else
      {
         if (is_range)
         {
            buf[len - 1] = '-';  // change last comma to a dash
            len         += snprintf(&buf[len], size - len, "%d,", last_sev);
            is_range     = false;
         }
         last_sev = -1;
      }
   }

   // handle a range that ends on the last bit
   if (is_range && last_sev != -1)
   {
      buf[len - 1] = '-';  // change last comma to a dash
      len         += snprintf(&buf[len], size - len, "%d", last_sev);
   }
   else
   {
      // Eat the last comma
      if (len > 0)
      {
         len--;
      }
   }

   buf[len] = 0;

   return(buf);
} // logmask_to_str
Exemplo n.º 2
0
/**
 * Returns whether a log severity is active.
 *
 * @param sev  The severity
 * @return     true/false
 */
bool log_sev_on(log_sev_t sev)
{
   return(logmask_test(g_log.mask, sev));
}