diff --git a/networking/ip.c b/networking/ip.c
index cfdbf8b..9250484 100644
--- a/networking/ip.c
+++ b/networking/ip.c
@@ -1,10 +1,7 @@
 /*
  * ip.c		"ip" utility frontend.
  *
- *		This program is free software; you can redistribute it and/or
- *		modify it under the terms of the GNU General Public License
- *		as published by the Free Software Foundation; either version
- *		2 of the License, or (at your option) any later version.
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  *
  * Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  *
@@ -23,8 +20,8 @@
 #include <netinet/in.h>
 #include <string.h>
 
-#include "./libiproute/utils.h"
-#include "./libiproute/ip_common.h"
+#include "libiproute/utils.h"
+#include "libiproute/ip_common.h"
 
 #include "busybox.h"
 
diff --git a/networking/ipaddr.c b/networking/ipaddr.c
index 7826194..4317557 100644
--- a/networking/ipaddr.c
+++ b/networking/ipaddr.c
@@ -1,10 +1,7 @@
 /*
  * ip.c		"ip" utility frontend.
  *
- *		This program is free software; you can redistribute it and/or
- *		modify it under the terms of the GNU General Public License
- *		as published by the Free Software Foundation; either version
- *		2 of the License, or (at your option) any later version.
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  *
  * Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  *
@@ -14,8 +11,8 @@
  * Rani Assaf <rani@magic.metawire.com> 980929:	resolve addresses
  */
 
-#include "./libiproute/utils.h"
-#include "./libiproute/ip_common.h"
+#include "libiproute/utils.h"
+#include "libiproute/ip_common.h"
 
 #include "busybox.h"
 
diff --git a/networking/iplink.c b/networking/iplink.c
index 7207e17..2f13aff 100644
--- a/networking/iplink.c
+++ b/networking/iplink.c
@@ -1,10 +1,7 @@
 /*
  * ip.c		"ip" utility frontend.
  *
- *		This program is free software; you can redistribute it and/or
- *		modify it under the terms of the GNU General Public License
- *		as published by the Free Software Foundation; either version
- *		2 of the License, or (at your option) any later version.
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  *
  * Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  *
@@ -14,8 +11,8 @@
  * Rani Assaf <rani@magic.metawire.com> 980929:	resolve addresses
  */
 
-#include "./libiproute/utils.h"
-#include "./libiproute/ip_common.h"
+#include "libiproute/utils.h"
+#include "libiproute/ip_common.h"
 
 #include "busybox.h"
 
diff --git a/networking/iproute.c b/networking/iproute.c
index d049a87..ce58d62 100644
--- a/networking/iproute.c
+++ b/networking/iproute.c
@@ -1,10 +1,7 @@
 /*
  * ip.c		"ip" utility frontend.
  *
- *		This program is free software; you can redistribute it and/or
- *		modify it under the terms of the GNU General Public License
- *		as published by the Free Software Foundation; either version
- *		2 of the License, or (at your option) any later version.
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  *
  * Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  *
@@ -14,8 +11,8 @@
  * Rani Assaf <rani@magic.metawire.com> 980929:	resolve addresses
  */
 
-#include "./libiproute/utils.h"
-#include "./libiproute/ip_common.h"
+#include "libiproute/utils.h"
+#include "libiproute/ip_common.h"
 
 #include "busybox.h"
 
diff --git a/networking/iptunnel.c b/networking/iptunnel.c
index f2b2e8a..feff1fc 100644
--- a/networking/iptunnel.c
+++ b/networking/iptunnel.c
@@ -1,10 +1,7 @@
 /*
  * ip.c		"ip" utility frontend.
  *
- *		This program is free software; you can redistribute it and/or
- *		modify it under the terms of the GNU General Public License
- *		as published by the Free Software Foundation; either version
- *		2 of the License, or (at your option) any later version.
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  *
  * Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  *
@@ -14,8 +11,8 @@
  * Rani Assaf <rani@magic.metawire.com> 980929:	resolve addresses
  */
 
-#include "./libiproute/utils.h"
-#include "./libiproute/ip_common.h"
+#include "libiproute/utils.h"
+#include "libiproute/ip_common.h"
 
 #include "busybox.h"
 
diff --git a/networking/libiproute/iproute.c b/networking/libiproute/iproute.c
index fabab5b..cc229c2 100644
--- a/networking/libiproute/iproute.c
+++ b/networking/libiproute/iproute.c
@@ -1,10 +1,7 @@
 /*
  * iproute.c		"ip route".
  *
- *		This program is free software; you can redistribute it and/or
- *		modify it under the terms of the GNU General Public License
- *		as published by the Free Software Foundation; either version
- *		2 of the License, or (at your option) any later version.
+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
  *
  * Authors:	Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
  *
@@ -588,7 +585,7 @@
 	}
 
 	if (flush) {
-		int round = 0;
+		int _round = 0;
 		char flushb[4096-512];
 
 		if (filter.tb == -1) {
@@ -614,14 +611,14 @@
 				return -1;
 			}
 			if (filter.flushed == 0) {
-				if (round == 0) {
+				if (_round == 0) {
 					if (filter.tb != -1 || do_ipv6 == AF_INET6)
 						fprintf(stderr, "Nothing to flush.\n");
 				}
 				fflush(stdout);
 				return 0;
 			}
-			round++;
+			_round++;
 			if (flush_update() < 0)
 				exit(1);
 		}
