X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=util%2Flog.c;h=b648bf15b85fcd365c8b1dfc48f14656a9d7c28c;hb=068a5a7412f492019b4d6f5e89158098d44368f7;hp=380b037435c7f01b615b8c6ad9d14c28d716eed6;hpb=33ec719e54ba8b5cc86c7745ebcbcfa572eb3e0d;p=yaz-moved-to-github.git diff --git a/util/log.c b/util/log.c index 380b037..b648bf1 100644 --- a/util/log.c +++ b/util/log.c @@ -4,7 +4,13 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: log.c,v $ - * Revision 1.14 1997-09-18 08:48:09 adam + * Revision 1.16 1997-10-06 08:55:07 adam + * Changed log_init so that previous (if any) is closed. + * + * Revision 1.15 1997/09/29 07:13:13 adam + * Minor changes. + * + * Revision 1.14 1997/09/18 08:48:09 adam * Fixed minor bug that caused log_init to ignore filename. * * Revision 1.13 1997/09/01 08:54:13 adam @@ -120,27 +126,35 @@ char *strerror(int n) FILE *log_file(void) { + if (!l_file) + l_file = stderr; return l_file; } void log_init(int level, const char *prefix, const char *name) { + FILE *new_file; l_level = level; if (prefix && *prefix) sprintf(l_prefix, "%.512s", prefix); + if (!l_file) + l_file = stderr; if (!name || !*name) return; - if (l_file != stderr && l_file != 0) - return; - if (!(l_file = fopen(name, "a"))) + if (!(new_file = fopen(name, "a"))) return; - setvbuf(l_file, 0, _IONBF, 0); + if (l_file != stderr) + { + setvbuf(new_file, 0, _IONBF, 0); + fclose (l_file); + } + l_file = new_file; } static void (*start_hook_func)(int, const char *, void *) = NULL; -void *start_hook_info; +static void *start_hook_info; static void (*end_hook_func)(int, const char *, void *) = NULL; -void *end_hook_info; +static void *end_hook_info; void log_event_start (void (*func)(int, const char *, void *), void *info) {