- prio = strtol(priority, &endptr, 10);
- if (endptr[0] == '\0' || isspace(endptr[0]))
- return prio;
- if (startswith(priority, "err"))
- return LOG_ERR;
- if (startswith(priority, "info"))
- return LOG_INFO;
- if (startswith(priority, "debug"))
- return LOG_DEBUG;
- return 0;
+ prio = strtoul(priority, &endptr, 10);
+ if (endptr[0] == '\0' || isspace(endptr[0])) {
+ if (prio >= 0 && prio <= 7)
+ return prio;
+ else
+ return -ERANGE;
+ }
+
+ return log_level_from_string(priority);