projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merged silc_1_1_branch to trunk.
[silc.git]
/
lib
/
silcutil
/
silclog.c
diff --git
a/lib/silcutil/silclog.c
b/lib/silcutil/silclog.c
index 914a5fdfaae803fa65931db263c55ac05d0fcfbd..824efb701389912d11b260450b86ea63e6ac12fe 100644
(file)
--- a/
lib/silcutil/silclog.c
+++ b/
lib/silcutil/silclog.c
@@
-4,7
+4,7
@@
Author: Pekka Riikonen <priikone@silcnet.org>
Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 200
6
Pekka Riikonen
+ Copyright (C) 1997 - 200
7
Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-50,6
+50,8
@@
typedef struct {
void *context;
} *SilcLog, SilcLogStruct;
void *context;
} *SilcLog, SilcLogStruct;
+#ifndef SILC_SYMBIAN
+
/* Default settings */
static SilcLogSettingsStruct silclog =
{
/* Default settings */
static SilcLogSettingsStruct silclog =
{
@@
-66,8
+68,14
@@
static SilcLogSettingsStruct silclog =
TRUE,
};
TRUE,
};
+#endif /* !SILC_SYMBIAN */
+
/* Default log contexts */
/* Default log contexts */
+#ifndef SILC_SYMBIAN
static SilcLogStruct silclogs[4] =
static SilcLogStruct silclogs[4] =
+#else
+const SilcLogStruct silclogs[4] =
+#endif /* !SILC_SYMBIAN */
{
{"", NULL, 0, "Info", SILC_LOG_INFO, NULL, NULL},
{"", NULL, 0, "Warning", SILC_LOG_WARNING, NULL, NULL},
{
{"", NULL, 0, "Info", SILC_LOG_INFO, NULL, NULL},
{"", NULL, 0, "Warning", SILC_LOG_WARNING, NULL, NULL},
@@
-81,7
+89,7
@@
static SilcLog silc_log_get_context(SilcLogType type)
{
if (type < 1 || type > 4)
return NULL;
{
if (type < 1 || type > 4)
return NULL;
- return &silclogs[(int)type - 1];
+ return
(SilcLog)
&silclogs[(int)type - 1];
}
/* Check log file site and cycle log file if it is over max size. */
}
/* Check log file site and cycle log file if it is over max size. */
@@
-129,6
+137,7
@@
static void silc_log_checksize(SilcLog log)
SILC_TASK_CALLBACK(silc_log_fflush_callback)
{
SILC_TASK_CALLBACK(silc_log_fflush_callback)
{
+#ifndef SILC_SYMBIAN
SilcLog log;
if (!silclog.quick) {
SilcLog log;
if (!silclog.quick) {
@@
-149,6
+158,7
@@
SILC_TASK_CALLBACK(silc_log_fflush_callback)
silclog.flushdelay = 2;
silc_schedule_task_add_timeout(context, silc_log_fflush_callback, context,
silclog.flushdelay, 0);
silclog.flushdelay = 2;
silc_schedule_task_add_timeout(context, silc_log_fflush_callback, context,
silclog.flushdelay, 0);
+#endif /* !SILC_SYMBIAN */
}
/* Output log message to log file */
}
/* Output log message to log file */
@@
-169,6
+179,7
@@
void silc_log_output(SilcLogType type, char *string)
typename = log->typename;
typename = log->typename;
+#ifndef SILC_SYMBIAN
if (!silclog.scheduled) {
if (silclog.no_init == FALSE) {
fprintf(stderr,
if (!silclog.scheduled) {
if (silclog.no_init == FALSE) {
fprintf(stderr,
@@
-181,6
+192,7
@@
void silc_log_output(SilcLogType type, char *string)
log = NULL;
goto found;
}
log = NULL;
goto found;
}
+#endif /* !SILC_SYMBIAN */
/* Find open log file */
while (log) {
/* Find open log file */
while (log) {
@@
-194,6
+206,7
@@
void silc_log_output(SilcLogType type, char *string)
if (!log || !log->fp)
goto end;
if (!log || !log->fp)
goto end;
+#ifndef SILC_SYMBIAN
found:
if (silclog.timestamp)
fprintf(fp, "[%s] [%s] %s\n", silc_time_string(0), typename, string);
found:
if (silclog.timestamp)
fprintf(fp, "[%s] [%s] %s\n", silc_time_string(0), typename, string);
@@
-205,13
+218,19
@@
void silc_log_output(SilcLogType type, char *string)
if (log)
silc_log_checksize(log);
}
if (log)
silc_log_checksize(log);
}
+#endif /* !SILC_SYMBIAN */
end:
end:
+#ifndef SILC_SYMBIAN
/* Output log to stderr if debugging */
if (typename && silclog.debug) {
fprintf(stderr, "[Logging] [%s] %s\n", typename, string);
fflush(stderr);
}
/* Output log to stderr if debugging */
if (typename && silclog.debug) {
fprintf(stderr, "[Logging] [%s] %s\n", typename, string);
fflush(stderr);
}
+#else
+ fprintf(stderr, "[Logging] [%s] %s\n", typename, string);
+#endif /* !SILC_SYMBIAN */
+
silc_free(string);
}
silc_free(string);
}
@@
-220,6
+239,7
@@
void silc_log_output(SilcLogType type, char *string)
SilcBool silc_log_set_file(SilcLogType type, char *filename,
SilcUInt32 maxsize, SilcSchedule scheduler)
{
SilcBool silc_log_set_file(SilcLogType type, char *filename,
SilcUInt32 maxsize, SilcSchedule scheduler)
{
+#ifndef SILC_SYMBIAN
FILE *fp = NULL;
SilcLog log;
FILE *fp = NULL;
SilcLog log;
@@
-269,6
+289,7
@@
SilcBool silc_log_set_file(SilcLogType type, char *filename,
silclog.scheduled = TRUE;
}
silclog.scheduled = TRUE;
}
+#endif /* !SILC_SYMBIAN */
return TRUE;
}
return TRUE;
}
@@
-284,17
+305,20
@@
char *silc_log_get_file(SilcLogType type)
void silc_log_set_callback(SilcLogType type, SilcLogCb cb, void *context)
{
void silc_log_set_callback(SilcLogType type, SilcLogCb cb, void *context)
{
+#ifndef SILC_SYMBIAN
SilcLog log = silc_log_get_context(type);
if (log) {
log->cb = cb;
log->context = context;
}
SilcLog log = silc_log_get_context(type);
if (log) {
log->cb = cb;
log->context = context;
}
+#endif /* !SILC_SYMBIAN */
}
/* Reset log callbacks */
void silc_log_reset_callbacks(void)
{
}
/* Reset log callbacks */
void silc_log_reset_callbacks(void)
{
+#ifndef SILC_SYMBIAN
SilcLog log;
log = silc_log_get_context(SILC_LOG_INFO);
log->cb = log->context = NULL;
SilcLog log;
log = silc_log_get_context(SILC_LOG_INFO);
log->cb = log->context = NULL;
@@
-304,6
+328,7
@@
void silc_log_reset_callbacks(void)
log->cb = log->context = NULL;
log = silc_log_get_context(SILC_LOG_FATAL);
log->cb = log->context = NULL;
log->cb = log->context = NULL;
log = silc_log_get_context(SILC_LOG_FATAL);
log->cb = log->context = NULL;
+#endif /* !SILC_SYMBIAN */
}
/* Flush all log files */
}
/* Flush all log files */
@@
-370,26
+395,31
@@
void silc_log_set_debug_callbacks(SilcLogDebugCb debug_cb,
SilcLogHexdumpCb hexdump_cb,
void *hexdump_context)
{
SilcLogHexdumpCb hexdump_cb,
void *hexdump_context)
{
+#ifndef SILC_SYMBIAN
silclog.debug_cb = debug_cb;
silclog.debug_context = debug_context;
silclog.hexdump_cb = hexdump_cb;
silclog.hexdump_context = hexdump_context;
silclog.debug_cb = debug_cb;
silclog.debug_context = debug_context;
silclog.hexdump_cb = hexdump_cb;
silclog.hexdump_context = hexdump_context;
+#endif /* !SILC_SYMBIAN */
}
/* Resets debug callbacks */
void silc_log_reset_debug_callbacks()
{
}
/* Resets debug callbacks */
void silc_log_reset_debug_callbacks()
{
+#ifndef SILC_SYMBIAN
silclog.debug_cb = NULL;
silclog.debug_context = NULL;
silclog.hexdump_cb = NULL;
silclog.hexdump_context = NULL;
silclog.debug_cb = NULL;
silclog.debug_context = NULL;
silclog.hexdump_cb = NULL;
silclog.hexdump_context = NULL;
+#endif /* !SILC_SYMBIAN */
}
/* Set current debug string */
void silc_log_set_debug_string(const char *debug_string)
{
}
/* Set current debug string */
void silc_log_set_debug_string(const char *debug_string)
{
+#ifndef SILC_SYMBIAN
char *string;
int len;
if ((strchr(debug_string, '(') && strchr(debug_string, ')')) ||
char *string;
int len;
if ((strchr(debug_string, '(') && strchr(debug_string, ')')) ||
@@
-403,41
+433,52
@@
void silc_log_set_debug_string(const char *debug_string)
memset(silclog.debug_string, 0, sizeof(silclog.debug_string));
strncpy(silclog.debug_string, string, len);
silc_free(string);
memset(silclog.debug_string, 0, sizeof(silclog.debug_string));
strncpy(silclog.debug_string, string, len);
silc_free(string);
+#endif /* !SILC_SYMBIAN */
}
/* Set timestamp */
void silc_log_timestamp(SilcBool enable)
{
}
/* Set timestamp */
void silc_log_timestamp(SilcBool enable)
{
+#ifndef SILC_SYMBIAN
silclog.timestamp = enable;
silclog.timestamp = enable;
+#endif /* !SILC_SYMBIAN */
}
/* Set flushdelay */
void silc_log_flushdelay(SilcUInt32 flushdelay)
{
}
/* Set flushdelay */
void silc_log_flushdelay(SilcUInt32 flushdelay)
{
+#ifndef SILC_SYMBIAN
silclog.flushdelay = flushdelay;
silclog.flushdelay = flushdelay;
+#endif /* !SILC_SYMBIAN */
}
/* Set quick logging */
void silc_log_quick(SilcBool enable)
{
}
/* Set quick logging */
void silc_log_quick(SilcBool enable)
{
+#ifndef SILC_SYMBIAN
silclog.quick = enable;
silclog.quick = enable;
+#endif /* !SILC_SYMBIAN */
}
/* Set debugging */
void silc_log_debug(SilcBool enable)
{
}
/* Set debugging */
void silc_log_debug(SilcBool enable)
{
+#ifndef SILC_SYMBIAN
silclog.debug = enable;
silclog.debug = enable;
+#endif /* !SILC_SYMBIAN */
}
/* Set debug hexdump */
void silc_log_debug_hexdump(SilcBool enable)
{
}
/* Set debug hexdump */
void silc_log_debug_hexdump(SilcBool enable)
{
+#ifndef SILC_SYMBIAN
silclog.debug_hexdump = enable;
silclog.debug_hexdump = enable;
+#endif /* !SILC_SYMBIAN */
}
/* Outputs the debug message to stderr. */
}
/* Outputs the debug message to stderr. */
@@
-445,6
+486,9
@@
void silc_log_debug_hexdump(SilcBool enable)
void silc_log_output_debug(char *file, const char *function,
int line, char *string)
{
void silc_log_output_debug(char *file, const char *function,
int line, char *string)
{
+ SilcTimeStruct curtime;
+
+#ifndef SILC_SYMBIAN
if (!silclog.debug)
goto end;
if (!silclog.debug)
goto end;
@@
-457,15
+501,23
@@
void silc_log_output_debug(char *file, const char *function,
silclog.debug_context))
goto end;
}
silclog.debug_context))
goto end;
}
+#endif /* !SILC_SYMBIAN */
+
+ silc_time_value(0, &curtime);
#ifdef SILC_WIN32
if (strrchr(function, '\\'))
fprintf(stderr, "%s:%d: %s\n", strrchr(function, '\\') + 1, line, string);
else
#endif /* SILC_WIN32 */
#ifdef SILC_WIN32
if (strrchr(function, '\\'))
fprintf(stderr, "%s:%d: %s\n", strrchr(function, '\\') + 1, line, string);
else
#endif /* SILC_WIN32 */
-
- fprintf(stderr, "%s:%d: %s\n", function, line, string);
+#ifdef SILC_SYMBIAN
+ silc_symbian_debug(function, line, string);
+#else
+ fprintf(stderr, "%02d:%02d:%02d %s:%d: %s\n", curtime.hour,
+ curtime.minute, curtime.second, function, line,
+ string);
fflush(stderr);
fflush(stderr);
+#endif /* SILC_SYMBIAN */
end:
silc_free(string);
end:
silc_free(string);
@@
-481,6
+533,7
@@
void silc_log_output_hexdump(char *file, const char *function,
int off, pos, count;
unsigned char *data = (unsigned char *)data_in;
int off, pos, count;
unsigned char *data = (unsigned char *)data_in;
+#ifndef SILC_SYMBIAN
if (!silclog.debug_hexdump)
goto end;
if (!silclog.debug_hexdump)
goto end;
@@
-493,6
+546,7
@@
void silc_log_output_hexdump(char *file, const char *function,
data_in, len, string, silclog.hexdump_context))
goto end;
}
data_in, len, string, silclog.hexdump_context))
goto end;
}
+#endif /* !SILC_SYMBIAN */
fprintf(stderr, "%s:%d: %s\n", function, line, string);
fprintf(stderr, "%s:%d: %s\n", function, line, string);