X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilclog.c;h=d0bec0c1c4320c5e45cc7cec183f5614b0f4c6c9;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=824efb701389912d11b260450b86ea63e6ac12fe;hpb=52e57c880aba9c5e89f59d962eb9af75670b76e0;p=silc.git diff --git a/lib/silcutil/silclog.c b/lib/silcutil/silclog.c index 824efb70..d0bec0c1 100644 --- a/lib/silcutil/silclog.c +++ b/lib/silcutil/silclog.c @@ -183,7 +183,7 @@ void silc_log_output(SilcLogType type, char *string) if (!silclog.scheduled) { if (silclog.no_init == FALSE) { fprintf(stderr, - "Warning, trying to output without log files initialization, " + "Warning, log files not initialized, " "log output is going to stderr\n"); silclog.no_init = TRUE; } @@ -243,6 +243,9 @@ SilcBool silc_log_set_file(SilcLogType type, char *filename, FILE *fp = NULL; SilcLog log; + if (!scheduler) + scheduler = silc_schedule_get_global(); + log = silc_log_get_context(type); if (!log) return FALSE; @@ -424,7 +427,7 @@ void silc_log_set_debug_string(const char *debug_string) int len; if ((strchr(debug_string, '(') && strchr(debug_string, ')')) || strchr(debug_string, '$')) - string = strdup(debug_string); + string = silc_strdup(debug_string); else string = silc_string_regexify(debug_string); len = strlen(string); @@ -529,10 +532,6 @@ void silc_log_output_hexdump(char *file, const char *function, int line, void *data_in, SilcUInt32 len, char *string) { - int i, k; - int off, pos, count; - unsigned char *data = (unsigned char *)data_in; - #ifndef SILC_SYMBIAN if (!silclog.debug_hexdump) goto end; @@ -550,60 +549,7 @@ void silc_log_output_hexdump(char *file, const char *function, fprintf(stderr, "%s:%d: %s\n", function, line, string); - k = 0; - pos = 0; - count = 16; - off = len % 16; - while (1) { - if (off) { - if ((len - pos) < 16 && (len - pos <= len - off)) - count = off; - } else { - if (pos == len) - count = 0; - } - if (off == len) - count = len; - - if (count) - fprintf(stderr, "%08X ", k++ * 16); - - for (i = 0; i < count; i++) { - fprintf(stderr, "%02X ", data[pos + i]); - - if ((i + 1) % 4 == 0) - fprintf(stderr, " "); - } - - if (count && count < 16) { - int j; - - for (j = 0; j < 16 - count; j++) { - fprintf(stderr, " "); - - if ((j + count + 1) % 4 == 0) - fprintf(stderr, " "); - } - } - - for (i = 0; i < count; i++) { - char ch; - - if (data[pos] < 32 || data[pos] >= 127) - ch = '.'; - else - ch = data[pos]; - - fprintf(stderr, "%c", ch); - pos++; - } - - if (count) - fprintf(stderr, "\n"); - - if (count < 16) - break; - } + silc_hexdump(data_in, len, stderr); end: silc_free(string);