summaryrefslogtreecommitdiff
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
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.
-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 */