[BusyBox-cvs] busybox/networking ifupdown.c,1.34,1.35

Erik Andersen andersen at busybox.net
Fri Dec 19 10:46:03 UTC 2003


Update of /var/cvs/busybox/networking
In directory nail:/tmp/cvs-serv20471/networking

Modified Files:
	ifupdown.c 
Log Message:
Manousaridis Angelos writes:

Hello,

I have been using busybox for some time now, for an ARM based platform.
I was very pleased when I tried the 1.00preX series, with all the new
utilities and daemons.

I found out that the ifupdown in busybox does not behave exaclty like
the debian version. Then the pre-up script fails, the interface is
getting up. Also when the post-up script fails the return value is
ignored. Actually everything is always run and the return value is
always true. I looked at the original implementation from debian and
fixed the busybox version to do the same. A patch is attached if anyone
is interested.



Index: ifupdown.c
===================================================================
RCS file: /var/cvs/busybox/networking/ifupdown.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- ifupdown.c	12 Sep 2003 08:39:05 -0000	1.34
+++ ifupdown.c	19 Dec 2003 10:46:00 -0000	1.35
@@ -1044,24 +1044,22 @@
 
 static int iface_up(struct interface_defn_t *iface)
 {
-	int result;
 	if (!iface->method->up(iface,check)) return -1;
 	set_environ(iface, "start");
-	result = execute_all(iface, doit, "pre-up");
-	result += iface->method->up(iface, doit);
-	result += execute_all(iface, doit, "up");
-	return(result);
+	if (!execute_all(iface, doit, "pre-up")) return 0;
+	if (!iface->method->up(iface, doit)) return 0;
+	if (!execute_all(iface, doit, "up")) return 0;
+	return 1;
 }
 
 static int iface_down(struct interface_defn_t *iface)
 {
-	int result;
 	if (!iface->method->down(iface,check)) return -1;
 	set_environ(iface, "stop");
-	result = execute_all(iface, doit, "down");
-	result += iface->method->down(iface, doit);
-	result += execute_all(iface, doit, "post-down");
-	return(result);
+	if (!execute_all(iface, doit, "down")) return 0;
+	if (!iface->method->down(iface, doit)) return 0;
+	if (!execute_all(iface, doit, "post-down")) return 0;
+	return 1;
 }
 
 #ifdef CONFIG_FEATURE_IFUPDOWN_MAPPING




More information about the busybox-cvs mailing list