X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=string.c;h=e037ebb49c75f9a38c42e7699090253a55bef74d;hp=ba32e8bfbddc9b314cfcf78011b4f85bc6322906;hb=b1715277edebbe8db0223cdf1132da25252d282e;hpb=6bdac07456cb5872f824028912d1049883a9c21f diff --git a/string.c b/string.c index ba32e8bf..e037ebb4 100644 --- a/string.c +++ b/string.c @@ -292,9 +292,9 @@ __must_check __malloc char *para_homedir(void) * * \return The number of substrings found in \a args. */ -__must_check unsigned split_args(char *args, char *** const argv_ptr, const char *delim) +unsigned split_args(char *args, char *** const argv_ptr, const char *delim) { - char *p = args; + char *p; char **argv; size_t n = 0, i, j; @@ -586,3 +586,34 @@ int para_atoi32(const char *str, int32_t *value) *value = tmp; 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 (loglevel_equal(txt, "debug")) + return LL_DEBUG; + if (loglevel_equal(txt, "info")) + return LL_INFO; + if (loglevel_equal(txt, "notice")) + return LL_NOTICE; + if (loglevel_equal(txt, "warning")) + return LL_WARNING; + if (loglevel_equal(txt, "error")) + return LL_ERROR; + if (loglevel_equal(txt, "crit")) + return LL_CRIT; + if (loglevel_equal(txt, "emerg")) + return LL_EMERG; + return -1; +}