aboutsummaryrefslogtreecommitdiffstats
path: root/daemon/dest_file.c
diff options
context:
space:
mode:
authoryaworsky <yaworsky>2005-11-29 13:34:12 +0000
committeryaworsky <yaworsky>2005-11-29 13:34:12 +0000
commit6cbd5fddd7e5be2746d0ceb017aaedd88717848b (patch)
tree0a0367e9c9b998786acdc01a99dd10fb60d0dee0 /daemon/dest_file.c
parent447ff54953c6fd528f161a6d5ab18593db9ad490 (diff)
downloadsyslog-win32-6cbd5fddd7e5be2746d0ceb017aaedd88717848b.tar.gz
syslog-win32-6cbd5fddd7e5be2746d0ceb017aaedd88717848b.tar.xz
syslog-win32-6cbd5fddd7e5be2746d0ceb017aaedd88717848b.zip
Convert all parts of logged message to destination encoding.
This is required if destination encoding is UCS-2 or UCS-4 for example. Otherwise the logfile will not be uniform. Fixed a bug in charset conversion function: divide by zero when cannot convert the first character and calculating new size for the output buffer.
Diffstat (limited to 'daemon/dest_file.c')
-rw-r--r--daemon/dest_file.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/daemon/dest_file.c b/daemon/dest_file.c
index c4d3cfe..d0b9ccd 100644
--- a/daemon/dest_file.c
+++ b/daemon/dest_file.c
@@ -181,8 +181,8 @@ static void write_message_to_logfile( struct file_writer* writer, struct message
if( INVALID_HANDLE_VALUE == writer->fd )
return;
TRACE_2( "%p: %s\n", writer, (*msg)->message->gstr->str );
- len = string_concat( &buffer, (*msg)->timestamp, space, (*msg)->hostname,
- space, (*msg)->message, line_feed, NULL );
+ len = string_concat( &buffer, (*msg)->timestamp, (*msg)->separator, (*msg)->hostname,
+ (*msg)->separator, (*msg)->message, (*msg)->end_of_line, NULL );
WriteFile( writer->fd, buffer, len, &written, NULL );
g_free( buffer );
release_message( *msg );
@@ -458,7 +458,7 @@ static void make_file_name( char* pattern, struct message* message, char* buffer
case 'f': dest += sprintf( dest, "%d", message->facility ); break;
case 'L': dest += sprintf( dest, "%s", get_priority_name( message->priority ) ); break;
case 'l': dest += sprintf( dest, "%d", message->priority ); break;
- case 'H': dest += sprintf( dest, "%s", message->hostname->gstr->str ); break;
+ case 'H': dest += sprintf( dest, "%s", message->hostname_in_locale->gstr->str ); break;
case 'h': dest += sprintf( dest, "%s", message->sender->gstr->str ); break;
case 'P': dest += sprintf( dest, "%s", message->program->gstr->str ); break;
default: *dest++ = c; break;