char *file;
int len;
- if (sess->logfd != -1 && prefs.logging)
+ if (sess->text_logging == SET_DEFAULT)
+ {
+ if (!prefs.logging)
+ return;
+ }
+ else
+ {
+ if (sess->text_logging != SET_ON)
+ return;
+ }
+
+ if (sess->logfd == -1)
+ log_open (sess);
+
+ /* change to a different log file? */
+ file = log_create_pathname (sess->server->servername, sess->channel,
+ server_get_network (sess->server, FALSE));
+ if (file)
{
- /* change to a different log file? */
- file = log_create_pathname (sess->server->servername, sess->channel,
- server_get_network (sess->server, FALSE));
- if (file)
+ if (access (file, F_OK) != 0)
{
- if (access (file, F_OK) != 0)
- {
- close (sess->logfd);
- sess->logfd = log_open_file (sess->server->servername, sess->channel,
- server_get_network (sess->server, FALSE));
- }
- g_free (file);
+ close (sess->logfd);
+ sess->logfd = log_open_file (sess->server->servername, sess->channel,
+ server_get_network (sess->server, FALSE));
}
+ g_free (file);
+ }
- if (prefs.timestamp_logs)
+ if (prefs.timestamp_logs)
+ {
+ len = get_stamp_str (prefs.timestamp_log_format, time (0), &stamp);
+ if (len)
{
- len = get_stamp_str (prefs.timestamp_log_format, time (0), &stamp);
- if (len)
- {
- write (sess->logfd, stamp, len);
- g_free (stamp);
- }
+ write (sess->logfd, stamp, len);
+ g_free (stamp);
}
- temp = strip_color (text, -1, STRIP_ALL);
- len = strlen (temp);
- write (sess->logfd, temp, len);
- /* lots of scripts/plugins print without a \n at the end */
- if (temp[len - 1] != '\n')
- write (sess->logfd, "\n", 1); /* emulate what xtext would display */
- g_free (temp);
}
+ temp = strip_color (text, -1, STRIP_ALL);
+ len = strlen (temp);
+ write (sess->logfd, temp, len);
+ /* lots of scripts/plugins print without a \n at the end */
+ if (temp[len - 1] != '\n')
+ write (sess->logfd, "\n", 1); /* emulate what xtext would display */
+ g_free (temp);
}
/* converts a CP1252/ISO-8859-1(5) hybrid to UTF-8 */