assorted fixes for breakage found by randomconfig

diff --git a/networking/ifupdown.c b/networking/ifupdown.c
index 040bbe3..e1c1e65 100644
--- a/networking/ifupdown.c
+++ b/networking/ifupdown.c
@@ -484,12 +484,12 @@
 static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
 {
 #if ENABLE_FEATURE_IFUPDOWN_EXTERNAL_DHCP
+	int i;
 #if ENABLE_FEATURE_IFUPDOWN_IP
 	/* ip doesn't up iface when it configures it (unlike ifconfig) */
 	if (!execute("ip link set %iface% up", ifd, exec))
 		return 0;
 #endif
-	int i;
 	for (i = 0; i < ARRAY_SIZE(ext_dhcp_clients); i++) {
 		if (exists_execable(ext_dhcp_clients[i].name))
 			return execute(ext_dhcp_clients[i].startcmd, ifd, exec);