X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=util%2Flog.c;h=5056d011a8049bb205ba89b51d7a77d7c53607f9;hp=e208fbf2f9eb7748ef95346945e87793850c0f36;hb=9a6ef6ade0e32716585b5dd5388a60285ea9d408;hpb=d054cdd41417401fbba915e20203882159f32283 diff --git a/util/log.c b/util/log.c index e208fbf..5056d01 100644 --- a/util/log.c +++ b/util/log.c @@ -1,8 +1,8 @@ /* - * Copyright (c) 1995-2002, Index Data + * Copyright (c) 1995-2003, Index Data * See the file LICENSE for details. * - * $Id: log.c,v 1.29 2002-09-25 12:37:07 adam Exp $ + * $Id: log.c,v 1.34 2003-02-07 14:39:00 heikki Exp $ */ #if HAVE_CONFIG_H @@ -20,6 +20,7 @@ #include #include #include +#include #include #define HAS_STRERROR 1 @@ -69,8 +70,8 @@ void yaz_log_init_file (const char *fname) if (!l_file) l_file = stderr; if (!fname || !*fname) - return; - if (!(new_file = fopen(fname, "a"))) + new_file=stderr; + else if (!(new_file = fopen(fname, "a"))) return; if (l_file != stderr) { @@ -105,7 +106,8 @@ void yaz_log_init(int level, const char *prefix, const char *fname) { yaz_log_init_level (level); yaz_log_init_prefix (prefix); - yaz_log_init_file (fname); + if (fname && *fname) + yaz_log_init_file (fname); } static void (*start_hook_func)(int, const char *, void *) = NULL; @@ -161,25 +163,11 @@ void yaz_log(int level, const char *fmt, ...) /* WIN32 */ if (o_level & LOG_ERRNO) { -#ifdef WIN32 - DWORD err = GetLastError(); - if (err) - { - strcat(buf, " ["); - FormatMessage( - FORMAT_MESSAGE_FROM_SYSTEM, - NULL, - err, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR) buf + strlen(buf), - 2048, - NULL); - strcat(buf, "]"); - } -#else - sprintf(buf + strlen(buf), " [%s]", strerror(yaz_errno())); -#endif + strcat(buf, " ["); + yaz_strerror(buf+strlen(buf), 2048); + strcat(buf, "]"); } + va_end (ap); if (start_hook_func) (*start_hook_func)(o_level, buf, start_hook_info); ti = time(0);