X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=string.c;h=e037ebb49c75f9a38c42e7699090253a55bef74d;hp=eb458dad1b380d231a653c023dcc66646ebb8c98;hb=b1715277edebbe8db0223cdf1132da25252d282e;hpb=31233289bedbb596b98eadd411bc6aac54d4ed69 diff --git a/string.c b/string.c index eb458dad..e037ebb4 100644 --- a/string.c +++ b/string.c @@ -587,21 +587,33 @@ int para_atoi32(const char *str, int32_t *value) return 1; } +static inline int loglevel_equal(const char *arg, const char * const ll) +{ + return !strncasecmp(arg, ll, strlen(ll)); +} + +/** + * Compute the loglevel number from its name. + * + * \param txt The name of the loglevel (debug, info, ...). + * + * \return The numeric representation of the loglevel name. + */ int get_loglevel_by_name(const char *txt) { - if (!strcasecmp(txt, "debug")) + if (loglevel_equal(txt, "debug")) return LL_DEBUG; - if (!strcasecmp(txt, "info")) + if (loglevel_equal(txt, "info")) return LL_INFO; - if (!strcasecmp(txt, "notice")) + if (loglevel_equal(txt, "notice")) return LL_NOTICE; - if (!strcasecmp(txt, "warning")) + if (loglevel_equal(txt, "warning")) return LL_WARNING; - if (!strcasecmp(txt, "error")) + if (loglevel_equal(txt, "error")) return LL_ERROR; - if (!strcasecmp(txt, "crit")) + if (loglevel_equal(txt, "crit")) return LL_CRIT; - if (!strcasecmp(txt, "emerg")) + if (loglevel_equal(txt, "emerg")) return LL_EMERG; return -1; }