]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - daemon.c
daemon: Kill get_loglevel_by_name().
[paraslash.git] / daemon.c
index 04dbc122386274110975bb155a5686ef9520f940..f44848ac6077ce33141b12ea244e80d11723a052 100644 (file)
--- a/daemon.c
+++ b/daemon.c
@@ -64,18 +64,24 @@ static void daemon_set_default_log_colors(void)
  */
 void daemon_set_log_color_or_die(const char *arg)
 {
+       unsigned ll;
+       const char * const sev[] = {SEVERITIES};
        char *p = strchr(arg, ':');
-       int ret, ll;
 
        if (!p)
                goto err;
-       ret = get_loglevel_by_name(arg);
-       if (ret < 0)
-               goto err;
-       ll = ret;
-       p++;
-       color_parse_or_die(p, me->log_colors[ll]);
-       return;
+       for (ll = 0; ll < NUM_LOGLEVELS; ll++) {
+               const char *name = sev[ll];
+               /*
+                * Parse only the first part of the string so that, for
+                * example, the argument "info:something_else" is recognized.
+                * Note that the string comparison is performed
+                * case-insensitively.
+                */
+               if (strncasecmp(arg, name, strlen(name)))
+                       continue;
+               return color_parse_or_die(p + 1, me->log_colors[ll]);
+       }
 err:
        PARA_EMERG_LOG("%s: invalid color argument\n", arg);
        exit(EXIT_FAILURE);