summaryrefslogtreecommitdiff
path: root/zlog/level.c
diff options
context:
space:
mode:
Diffstat (limited to 'zlog/level.c')
-rw-r--r--zlog/level.c141
1 files changed, 0 insertions, 141 deletions
diff --git a/zlog/level.c b/zlog/level.c
deleted file mode 100644
index 0d39a3a..0000000
--- a/zlog/level.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * This file is part of the zlog Library.
- *
- * Copyright (C) 2011 by Hardy Simpson <[email protected]>
- *
- * Licensed under the LGPL v2.1, see the file COPYING in base directory.
- */
-
-#include <stdio.h>
-#include <ctype.h>
-#include <errno.h>
-#include "syslog.h"
-
-#include "zc_defs.h"
-#include "level.h"
-
-void zlog_level_profile(zlog_level_t *a_level, int flag)
-{
- zc_assert(a_level,);
- zc_profile(flag, "---level[%p][%d,%s,%s,%d,%d]---",
- a_level,
- a_level->int_level,
- a_level->str_uppercase,
- a_level->str_lowercase,
- (int) a_level->str_len,
- a_level->syslog_level);
- return;
-}
-
-/*******************************************************************************/
-void zlog_level_del(zlog_level_t *a_level)
-{
- zc_assert(a_level,);
- zc_debug("zlog_level_del[%p]", a_level);
- free(a_level);
- return;
-}
-
-static int syslog_level_atoi(char *str)
-{
- /* guess no unix system will choose -187
- * as its syslog level, so it is a safe return value
- */
- zc_assert(str, -187);
-
- if (STRICMP(str, ==, "LOG_EMERG"))
- return LOG_EMERG;
- if (STRICMP(str, ==, "LOG_ALERT"))
- return LOG_ALERT;
- if (STRICMP(str, ==, "LOG_CRIT"))
- return LOG_CRIT;
- if (STRICMP(str, ==, "LOG_ERR"))
- return LOG_ERR;
- if (STRICMP(str, ==, "LOG_WARNING"))
- return LOG_WARNING;
- if (STRICMP(str, ==, "LOG_NOTICE"))
- return LOG_NOTICE;
- if (STRICMP(str, ==, "LOG_INFO"))
- return LOG_INFO;
- if (STRICMP(str, ==, "LOG_DEBUG"))
- return LOG_DEBUG;
-
- zc_error("wrong syslog level[%s]", str);
- return -187;
-}
-
-/* line: TRACE = 10, LOG_ERR */
-zlog_level_t *zlog_level_new(char *line)
-{
- zlog_level_t *a_level = NULL;
- int i;
- int nscan;
- char str[MAXLEN_CFG_LINE + 1];
- int l = 0;
- char sl[MAXLEN_CFG_LINE + 1];
-
- zc_assert(line, NULL);
-
- memset(str, 0x00, sizeof(str));
- memset(sl, 0x00, sizeof(sl));
-
- nscan = sscanf(line, " %[^= \t] = %d ,%s", str, &l, sl);
- if (nscan < 2) {
- zc_error("level[%s], syntax wrong", line);
- return NULL;
- }
-
- /* check level and str */
- if ((l < 0) || (l > 255)) {
- zc_error("l[%d] not in [0,255], wrong", l);
- return NULL;
- }
-
- if (str[0] == '\0') {
- zc_error("str[0] = 0");
- return NULL;
- }
-
- a_level = calloc(1, sizeof(zlog_level_t));
- if (!a_level) {
- zc_error("calloc fail, errno[%d]", errno);
- return NULL;
- }
-
- a_level->int_level = l;
-
- /* fill syslog level */
- if (sl[0] == '\0') {
- a_level->syslog_level = LOG_DEBUG;
- } else {
- a_level->syslog_level = syslog_level_atoi(sl);
- if (a_level->syslog_level == -187) {
- zc_error("syslog_level_atoi fail");
- goto err;
- }
- }
-
- /* strncpy and toupper(str) */
- for (i = 0; (i < sizeof(a_level->str_uppercase) - 1) && str[i] != '\0'; i++) {
- (a_level->str_uppercase)[i] = toupper(str[i]);
- (a_level->str_lowercase)[i] = tolower(str[i]);
- }
-
- if (str[i] != '\0') {
- /* overflow */
- zc_error("not enough space for str, str[%s] > %d", str, i);
- goto err;
- } else {
- (a_level->str_uppercase)[i] = '\0';
- (a_level->str_lowercase)[i] = '\0';
- }
-
- a_level->str_len = i;
-
- //zlog_level_profile(a_level, ZC_DEBUG);
- return a_level;
-err:
- zc_error("line[%s]", line);
- zlog_level_del(a_level);
- return NULL;
-}