From: Mike Frysinger Date: Sun, 6 Sep 2009 23:01:16 +0000 (+0000) Subject: ifconfig: fix no output when if_readlist_proc() fails X-Git-Tag: upstream/1.99_20121209git~89 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0529337c373d37b8bb38a86e7c715bc2b8a8244e;p=platform%2Fupstream%2Fnet-tools.git ifconfig: fix no output when if_readlist_proc() fails The rewrite of if_readlist() on 28 Jun 2003 broke the function when the proc interface isn't readable. Have if_readlist() return an error only if both if_readxxx funcs failed. This fixes Gentoo 238363. --- diff --git a/lib/interface.c b/lib/interface.c index f6f8906..d08ee55 100644 --- a/lib/interface.c +++ b/lib/interface.c @@ -7,7 +7,7 @@ 8/2000 Andi Kleen make the list operations a bit more efficient. People are crazy enough to use thousands of aliases now. - $Id: interface.c,v 1.31 2009/07/08 00:24:03 ecki Exp $ + $Id: interface.c,v 1.32 2009/09/06 23:01:16 vapier Exp $ */ #include "config.h" @@ -382,14 +382,17 @@ int if_readlist(void) /* caller will/should check not to call this too often * (i.e. only if if_list_all == 0 */ - int err = 0; + int proc_err, conf_err; - err |= if_readlist_proc(NULL); - err |= if_readconf(); + proc_err = if_readlist_proc(NULL); + conf_err = if_readconf(); if_list_all = 1; - return err; + if (proc_err < 0 && conf_err < 0) + return -1; + else + return 0; } /* Support for fetching an IPX address */