diff --git a/src/utils/error.c b/src/utils/error.c
index f940be6d232b05eb5eceff1b08f6aa13d62642ac..6d23c6bcf68b8e32661e7c49943ccb0c19d9b8b0 100644 (file)
--- a/src/utils/error.c
+++ b/src/utils/error.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <strings.h>
/*
* private data types
return ctx->prio;
} /* sdb_error_get_prio */
+int
+sdb_error_parse_priority(char *prio)
+{
+ if (! strcasecmp(prio, "EMERG"))
+ return SDB_LOG_EMERG;
+ else if (! strcasecmp(prio, "ERROR"))
+ return SDB_LOG_ERR;
+ else if (! strcasecmp(prio, "WARNING"))
+ return SDB_LOG_WARNING;
+ else if (! strcasecmp(prio, "NOTICE"))
+ return SDB_LOG_NOTICE;
+ else if (! strcasecmp(prio, "INFO"))
+ return SDB_LOG_INFO;
+ else if (! strcasecmp(prio, "DEBUG"))
+ return SDB_LOG_DEBUG;
+ return -1;
+} /* sdb_error_parse_priority */
+
char *
sdb_strerror(int errnum, char *strerrbuf, size_t buflen)
{
+ *strerrbuf = '\0';
+
#if STRERROR_R_CHAR_P
{
char *tmp = strerror_r(errnum, strerrbuf, buflen);
- if (*strerrbuf = '\0') {
+ if (*strerrbuf == '\0') {
if (tmp && (tmp != strerrbuf) && (*tmp != '\0'))
strncpy(strerrbuf, tmp, buflen);
else