X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Flog.c;h=859ca3af70ce7bcd2b3381e7a9f60f6b83df6d76;hb=b0ac22df7abdd45011addef4e726b278d5ba0f02;hp=f6690e52846a34c0aa70439a5453130cbd801b14;hpb=3b96525a40981e162b959f3e842e0ff20e314320;p=yaz-moved-to-github.git diff --git a/src/log.c b/src/log.c index f6690e5..859ca3a 100644 --- a/src/log.c +++ b/src/log.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2004, Index Data + * Copyright (C) 1995-2005, Index Data ApS * See the file LICENSE for details. * - * $Id: log.c,v 1.16 2004-11-18 15:18:13 heikki Exp $ + * $Id: log.c,v 1.21 2005-01-15 19:47:13 adam Exp $ */ /** @@ -34,7 +34,8 @@ #include #include #include -#include +#include +#include static NMEM_MUTEX log_mutex = 0; static int mutex_init_flag = 0; /* not yet initialized */ @@ -83,7 +84,7 @@ static struct { { YLOG_ERRNO, ""}, { YLOG_MALLOC, "malloc"}, /* { YLOG_APP, "app" }, */ - { YLOG_NOTIME, "" }, + { YLOG_NOTIME, "notime" }, /* { YLOG_APP2, "app2" }, */ /* { YLOG_APP3, "app3" }, */ { YLOG_ALL, "all" }, @@ -135,7 +136,13 @@ void yaz_log_reopen(void) if (!*l_fname) new_file = stderr; else if (!(new_file = fopen(l_fname, "a"))) + { + new_file=l_file; + l_file=stderr; /* just to be sure we don't rotate logs and recurse */ + yaz_log(YLOG_WARN|YLOG_ERRNO,"Could not open log file '%s'",l_fname); + l_file=new_file; /* restore to old value, probably stderr as well */ return; + } if (l_file != stderr) { fclose (l_file); @@ -396,15 +403,13 @@ int yaz_log_mask_str_x (const char *str, int level) { const char *p; int i; - int found; - int negated; char clean[255] = ""; char *n = clean; while (*str) { - found = 0; - negated=0; + int found = 0; + int negated = 0; for (p = str; *p && *p != ','; p++) ; if (*str=='-') @@ -412,7 +417,7 @@ int yaz_log_mask_str_x (const char *str, int level) negated=1; str++; } - if (isdigit(*str)) + if (isdigit(*(unsigned char *) str)) { level = atoi (str); found = 1;