Finer message processing - now only at file and screen output appear '\n'.
authorviric@llimona
Tue, 30 May 2006 01:10:00 +0200
changeset 53 667cd5966695
parent 52 3af277b9f73b
child 54 a456a2e5fca4
Finer message processing - now only at file and screen output appear '\n'.
out_file.c
rfc3164.c
syslog_in_npipe.c
syslog_in_udp.c
syslog_in_unix.c
syslog_kernel.c
--- 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 */
 			{