summaryrefslogtreecommitdiff
path: root/src/vyatta-conntrack-logging.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2011-12-21 19:53:51 -0800
committerStephen Hemminger <shemminger@vyatta.com>2011-12-21 19:53:51 -0800
commite1a079e84af64924266188bb49a86f0d67ac2522 (patch)
tree20adb2be62671b7666d3e2c97464cd1cf7d459a5 /src/vyatta-conntrack-logging.c
parent5ab13a8866a9e9a1378903275abbf6223b1b12e5 (diff)
downloadvyatta-conntrack-e1a079e84af64924266188bb49a86f0d67ac2522.tar.gz
vyatta-conntrack-e1a079e84af64924266188bb49a86f0d67ac2522.zip
Fix compiler warnings
Fix warnings reported by gcc 4.6 and fix bug where wait() return value was not being checked correctly on interrupt or other error.
Diffstat (limited to 'src/vyatta-conntrack-logging.c')
-rw-r--r--src/vyatta-conntrack-logging.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vyatta-conntrack-logging.c b/src/vyatta-conntrack-logging.c
index 9c05869..5d74d6a 100644
--- a/src/vyatta-conntrack-logging.c
+++ b/src/vyatta-conntrack-logging.c
@@ -13,6 +13,7 @@ Usage: ./vyatta-conntrack-logging
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <sys/stat.h>
#include <error.h>
#include <syslog.h>
@@ -63,7 +64,6 @@ void signal_handler(sig)
void start_child(char *cmd, int index)
{
pid_t pid;
- int west;
int ret;
pid=fork();
@@ -129,7 +129,7 @@ void daemonize()
int main(int argc, char *argv[])
{
int other=0;
- int i, pid;
+ int i;
char *conn="conntrack -E";
char *logger="logger -t log-conntrack -p daemon.notice";
char *fother="grep -vE 'tcp|udp|icmp'";
@@ -233,7 +233,7 @@ int main(int argc, char *argv[])
}
pid_t dead_child;
int status;
- while(dead_child=wait(&status)) {
+ while( (dead_child=wait(&status)) != -1) {
for(i=0;i<pcounter;i++) {
if (pids[i]==dead_child) {
sprintf(cmd_to_run, cmds[i], nbuffer[i]);
@@ -246,12 +246,13 @@ int main(int argc, char *argv[])
nbuffer[i] -= netlink_buffer_size;
sprintf(cmd_to_run, cmds[i], nbuffer[i]);
}
- syslog(LOG_ALERT,"RESTARTING PROCESS (Increase netlink buffer to %d bytes)", nbuffer[i]);
+ syslog(LOG_ALERT,"RESTARTING PROCESS (Increase netlink buffer to %ld bytes)", nbuffer[i]);
closelog();
start_child(cmd_to_run,i);
}
}
}
+ return 0;
}
/* EOF */