]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
logger: improve readablity of pencode() function
authorSami Kerola <kerolasa@iki.fi>
Sat, 26 Jul 2014 14:19:26 +0000 (15:19 +0100)
committerSami Kerola <kerolasa@iki.fi>
Mon, 28 Jul 2014 20:15:18 +0000 (21:15 +0100)
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
misc-utils/logger.c

index 7239cc5b85d5d7eeff69a7d52f8259e02965b23c..afd93712a29d7875633b4a2c0aea04b3547d15f7 100644 (file)
@@ -144,24 +144,22 @@ static int decode(char *name, CODE *codetab)
 
 static int pencode(char *s)
 {
-       char *save;
-       int fac, lev;
-
-       for (save = s; *s && *s != '.'; ++s);
-       if (*s) {
-               *s = '\0';
-               fac = decode(save, facilitynames);
-               if (fac < 0)
-                       errx(EXIT_FAILURE, _("unknown facility name: %s"), save);
-               *s++ = '.';
-       } else {
-               fac = LOG_USER;
-               s = save;
-       }
-       lev = decode(s, prioritynames);
-       if (lev < 0)
-               errx(EXIT_FAILURE, _("unknown priority name: %s"), save);
-       return ((lev & LOG_PRIMASK) | (fac & LOG_FACMASK));
+       int facility, level;
+       char *separator;
+
+       separator = strchr(s, '.');
+       if (separator) {
+               *separator = '\0';
+               facility = decode(s, facilitynames);
+               if (facility < 0)
+                       errx(EXIT_FAILURE, _("unknown facility name: %s"), s);
+               s = ++separator;
+       } else
+               facility = LOG_USER;
+       level = decode(s, prioritynames);
+       if (level < 0)
+               errx(EXIT_FAILURE, _("unknown priority name: %s"), s);
+       return ((level & LOG_PRIMASK) | (facility & LOG_FACMASK));
 }
 
 static int unix_socket(const char *path, const int socket_type)