X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Flog.c;h=6b82bcdcf85665f971f1952665de956ebc3fb6ef;hp=97a07ba21eb356c0e9974efcef2ec3f7b4c2d51d;hb=7cc2958d8f7877fa54a120cbc218ece03a8c0bcf;hpb=d16f37add45152d0d3b786a4676577a57e4f4139 diff --git a/src/log.c b/src/log.c index 97a07ba..6b82bcd 100644 --- a/src/log.c +++ b/src/log.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2009 Index Data + * Copyright (C) 1995-2010 Index Data * See the file LICENSE for details. */ @@ -32,21 +32,6 @@ #include #include -#define HAS_STRERROR 1 - - -#if HAS_STRERROR - -#else -char *strerror(int n) -{ - extern char *sys_errlist[]; - return sys_errlist[n]; -} - -#endif - - static int l_level = YLOG_DEFAULT_LEVEL; enum l_file_type { use_stderr, use_none, use_file }; @@ -280,14 +265,14 @@ void yaz_log_set_handler(void (*func)(int, const char *, void *), void *info) void log_event_start(void (*func)(int, const char *, void *), void *info) { - start_hook_func = func; - start_hook_info = info; + start_hook_func = func; + start_hook_info = info; } void log_event_end(void (*func)(int, const char *, void *), void *info) { - end_hook_func = func; - end_hook_info = info; + end_hook_func = func; + end_hook_info = info; } static void yaz_log_open_check(struct tm *tm, int force, const char *filemode) @@ -452,7 +437,7 @@ void yaz_log(int level, const char *fmt, ...) if (o_level & YLOG_ERRNO) { - int remain = sizeof(buf) - strlen(buf); + size_t remain = sizeof(buf) - strlen(buf); if (remain > 100) /* reasonable minimum space for error */ { strcat(buf, " ["); @@ -491,7 +476,7 @@ void yaz_log_time_format(const char *fmt) } /** cleans a loglevel name from leading paths and suffixes */ -static char *clean_name(const char *name, int len, char *namebuf, int buflen) +static char *clean_name(const char *name, size_t len, char *namebuf, size_t buflen) { char *p = namebuf; char *start = namebuf; @@ -508,19 +493,19 @@ static char *clean_name(const char *name, int len, char *namebuf, int buflen) static int define_module_bit(const char *name) { - int i; + size_t i; for (i = 0; mask_names[i].name; i++) if (0 == strcmp(mask_names[i].name, name)) { return mask_names[i].mask; } - if ( (i>=MAX_MASK_NAMES) || (next_log_bit & (1<<31) )) + if ( (i>=MAX_MASK_NAMES) || (next_log_bit & (1U<<31) )) { yaz_log(YLOG_WARN, "No more log bits left, not logging '%s'", name); return 0; } - mask_names[i].mask = next_log_bit; + mask_names[i].mask = (int) next_log_bit; /* next_log_bit can hold int */ next_log_bit = next_log_bit<<1; mask_names[i].name = (char *) malloc(strlen(name)+1); strcpy(mask_names[i].name, name); @@ -577,7 +562,7 @@ int yaz_log_mask_str_x(const char *str, int level) else { char clean[509]; - char *n = clean_name(str, p-str, clean, sizeof(clean)); + char *n = clean_name(str, (size_t) (p - str), clean, sizeof(clean)); int mask = define_module_bit(n); if (!mask) level = 0; /* 'none' clears them all */