X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Flog.c;h=859ca3af70ce7bcd2b3381e7a9f60f6b83df6d76;hb=af2e686d7372a0a2f4175cbe46d99fadd64bb465;hp=ff6aac5f507eceb7ac4ebc5b9a6d1e7dd00d3490;hpb=27a9c86e28cd54204d12517a94b338b30805c747;p=yaz-moved-to-github.git diff --git a/src/log.c b/src/log.c index ff6aac5..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.17 2004-11-23 14:10:47 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 */ @@ -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;