diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index b7f7112..d328feb 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,12 @@
+2006-08-06 Paul Jakma <paul.jakma@sun.com>
+
+	* interface.h: (ifstat_update_proc) declaration should match
+	  ifstat_update_sysctl really, which is to not return status, as
+	  such status is not used anywhere.
+	* if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values
+	  consistent with each other and their declarations, ie: 
+	  (void) (*) (void).
+
 2006-08-04 Paul Jakma <paul.jakma@sun.com>
 
 	* misc_null.c: Add ifstat_update_sysctl, add another required
diff --git a/zebra/if_proc.c b/zebra/if_proc.c
index 6002595..367b0d6 100644
--- a/zebra/if_proc.c
+++ b/zebra/if_proc.c
@@ -123,8 +123,8 @@
 }
 
 /* Update interface's statistics. */
-int
-ifstat_update_proc ()
+void
+ifstat_update_proc (void)
 {
   FILE *fp;
   char buf[PROCBUFSIZ];
@@ -139,7 +139,7 @@
     {
       zlog_warn ("Can't open proc file %s: %s",
 		 _PATH_PROC_NET_DEV, safe_strerror (errno));
-      return -1;
+      return;
     }
 
   /* Drop header lines. */
@@ -162,7 +162,7 @@
       ifstat_dev_fields (version, stat, ifp);
     }
   fclose(fp);
-  return 0;
+  return;
 }
 
 /* Interface structure allocation by proc filesystem. */
diff --git a/zebra/if_sysctl.c b/zebra/if_sysctl.c
index f1e3dcd..5e80996 100644
--- a/zebra/if_sysctl.c
+++ b/zebra/if_sysctl.c
@@ -33,8 +33,8 @@
 #include "zebra/rt.h"
 #include "zebra/kernel_socket.h"
 
-int
-ifstat_update_sysctl ()
+void
+ifstat_update_sysctl (void)
 {
   caddr_t ref, buf, end;
   size_t bufsiz;
@@ -56,7 +56,7 @@
   if (sysctl (mib, MIBSIZ, NULL, &bufsiz, NULL, 0) < 0) 
     {
       zlog_warn ("sysctl() error by %s", safe_strerror (errno));
-      return -1;
+      return;
     }
 
   /* We free this memory at the end of this function. */
@@ -66,7 +66,7 @@
   if (sysctl (mib, MIBSIZ, buf, &bufsiz, NULL, 0) < 0) 
     {
       zlog (NULL, LOG_WARNING, "sysctl error by %s", safe_strerror (errno));
-      return -1;
+      return;
     }
 
   /* Parse both interfaces and addresses. */
@@ -84,7 +84,7 @@
   /* Free sysctl buffer. */
   XFREE (MTYPE_TMP, ref);
 
-  return 0;
+  return;
 }
 
 /* Interface listing up function using sysctl(). */
diff --git a/zebra/interface.h b/zebra/interface.h
index 9a69dfa..0a6b036 100644
--- a/zebra/interface.h
+++ b/zebra/interface.h
@@ -221,7 +221,7 @@
 extern int if_subnet_delete (struct interface *, struct connected *);
 
 #ifdef HAVE_PROC_NET_DEV
-extern int ifstat_update_proc (void);
+extern void ifstat_update_proc (void);
 #endif /* HAVE_PROC_NET_DEV */
 #ifdef HAVE_NET_RT_IFLIST
 extern void ifstat_update_sysctl (void);
