X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilclog.c;h=b415c664d1eecc3ed45b0b6829da2895f859c206;hb=a818c5b5411bbc4436d1c5f011236985c96bb787;hp=8a358309446a0309c6c162b3ac49bfaeefdd3243;hpb=2f29684e9e71a2b58536d2cf82e0e928f29e6a44;p=silc.git diff --git a/lib/silcutil/silclog.c b/lib/silcutil/silclog.c index 8a358309..b415c664 100644 --- a/lib/silcutil/silclog.c +++ b/lib/silcutil/silclog.c @@ -32,7 +32,7 @@ struct SilcLogStruct { char *filename; FILE *fp; - uint32 maxsize; + SilcUInt32 maxsize; char *typename; SilcLogType type; SilcLogCb cb; @@ -43,8 +43,8 @@ typedef struct SilcLogStruct *SilcLog; /* These are the known logging channels */ static struct SilcLogStruct silclogs[SILC_LOG_MAX] = { {NULL, NULL, 0, "Info", SILC_LOG_INFO, NULL, NULL}, - {NULL, NULL, 0, "Error", SILC_LOG_ERROR, NULL, NULL}, {NULL, NULL, 0, "Warning", SILC_LOG_WARNING, NULL, NULL}, + {NULL, NULL, 0, "Error", SILC_LOG_ERROR, NULL, NULL}, {NULL, NULL, 0, "Fatal", SILC_LOG_FATAL, NULL, NULL}, }; @@ -241,7 +241,7 @@ char *silc_log_get_file(SilcLogType type) } /* Set and initialize the specified logging channel. See the API reference */ -bool silc_log_set_file(SilcLogType type, char *filename, uint32 maxsize, +bool silc_log_set_file(SilcLogType type, char *filename, SilcUInt32 maxsize, SilcSchedule scheduler) { FILE *fp = NULL; @@ -344,18 +344,22 @@ void silc_log_output_debug(char *file, char *function, { if (!silc_debug) goto end; + if (silc_log_debug_string && - !silc_string_regex_match(silc_log_debug_string, file) && - !silc_string_regex_match(silc_log_debug_string, function)) + !silc_string_regex_match(silc_log_debug_string, file) && + !silc_string_regex_match(silc_log_debug_string, function)) goto end; + if (silc_log_debug_cb) { if ((*silc_log_debug_cb)(file, function, line, string, silc_log_debug_context)) goto end; } + fprintf(stderr, "%s:%d: %s\n", function, line, string); fflush(stderr); -end: + + end: silc_free(string); } @@ -363,7 +367,7 @@ end: void silc_log_output_hexdump(char *file, char *function, int line, void *data_in, - uint32 len, char *string) + SilcUInt32 len, char *string) { int i, k; int off, pos, count; @@ -371,10 +375,12 @@ void silc_log_output_hexdump(char *file, char *function, if (!silc_debug_hexdump) goto end; + if (silc_log_debug_string && - !silc_string_regex_match(silc_log_debug_string, file) && - !silc_string_regex_match(silc_log_debug_string, function)) + !silc_string_regex_match(silc_log_debug_string, file) && + !silc_string_regex_match(silc_log_debug_string, function)) goto end; + if (silc_log_hexdump_cb) { if ((*silc_log_hexdump_cb)(file, function, line, data_in, len, string, silc_log_hexdump_context)) @@ -382,7 +388,6 @@ void silc_log_output_hexdump(char *file, char *function, } fprintf(stderr, "%s:%d: %s\n", function, line, string); - silc_free(string); k = 0; pos = 0; @@ -438,9 +443,8 @@ void silc_log_output_hexdump(char *file, char *function, if (count < 16) break; } - return; -end: + end: silc_free(string); }