Finer message processing - now only at file and screen output appear '\n'.
--- a/out_file.c Tue May 30 00:57:22 2006 +0200
+++ b/out_file.c Tue May 30 01:10:00 2006 +0200
@@ -52,13 +52,14 @@
/* Return -2 when the file is not enabled. Otherwise, the output of send().*/
int write_out_file(const char * restrict buf, const int len)
{
- int res;
+ int res, res2;
if (!file_enabled)
return -2;
res = write(out_file, buf, len);
- if (res == -1)
+ res2 = write(out_file, "\n", 1);
+ if (res == -1 || res2 == -1)
{
fprintf(stderr, "Error writing to the log file: %s\n",
strerror(errno));
--- a/rfc3164.c Tue May 30 00:57:22 2006 +0200
+++ b/rfc3164.c Tue May 30 01:10:00 2006 +0200
@@ -7,7 +7,7 @@
int process_message(char * restrict buffer)
{
int i;
- char message[MESSAGE_LENGTH+1];
+ /* char message[MESSAGE_LENGTH+1]; */
for(i=0; i<MESSAGE_LENGTH; i++)
{
@@ -31,8 +31,8 @@
/* Debug */
/* fprintf(stderr,"M: %s\n", buffer); */
- snprintf(message, MESSAGE_LENGTH+1,"%s\n", buffer);
- write(1, message, strlen(message));
+ /*snprintf(message, MESSAGE_LENGTH+1,"%s\n", buffer); */
+ /* write(1, message, strlen(message)); */
return i;
}
--- a/syslog_in_npipe.c Tue May 30 00:57:22 2006 +0200
+++ b/syslog_in_npipe.c Tue May 30 01:10:00 2006 +0200
@@ -89,6 +89,7 @@
/* End of code duplication */
return 0;
}
+ write(1, missatge, status);
}
if (status < 0)
--- a/syslog_in_udp.c Tue May 30 00:57:22 2006 +0200
+++ b/syslog_in_udp.c Tue May 30 01:10:00 2006 +0200
@@ -122,6 +122,7 @@
fd_set listen_sockets;
struct timeval wait_time;
int result;
+ int size;
int high_socket;
char message[MESSAGE_LENGTH+1];
@@ -165,20 +166,22 @@
/* Algun FD té dades... */
if (FD_ISSET(socket_ipv4, &listen_sockets))
{
- recv(socket_ipv4, message, MESSAGE_LENGTH, 0);
+ size = recv(socket_ipv4, message, MESSAGE_LENGTH, 0);
process_message(message);
/* Debug */
if(!strcmp(message,"close"))
break;
+ write(1, message, size);
}
if (ipv6enabled && FD_ISSET(socket_ipv6, &listen_sockets))
{
- recv(socket_ipv6, message, MESSAGE_LENGTH, 0);
+ size = recv(socket_ipv6, message, MESSAGE_LENGTH, 0);
process_message(message);
/* Debug */
if(!strcmp(message,"close"))
break;
+ write(1, message, size);
}
}
--- a/syslog_in_unix.c Tue May 30 00:57:22 2006 +0200
+++ b/syslog_in_unix.c Tue May 30 01:10:00 2006 +0200
@@ -80,6 +80,7 @@
/* Debug */
if(!strcmp(message,"close"))
break;
+ write(1, message, result);
} else if (result == -1)
{
if (errno != EINTR)
--- a/syslog_kernel.c Tue May 30 00:57:22 2006 +0200
+++ b/syslog_kernel.c Tue May 30 01:10:00 2006 +0200
@@ -147,6 +147,7 @@
missatge[res] = '\0';
fprintf(stderr, "Received: %s\n",missatge);
+ process_message(missatge);
output_message(missatge, res);
} else if (res == 0) /* EOF */
{