From owner-freebsd-current@FreeBSD.ORG Sat Jul 14 17:58:15 2007 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C392716A400 for ; Sat, 14 Jul 2007 17:58:15 +0000 (UTC) (envelope-from scf@FreeBSD.org) Received: from mail.farley.org (farley.org [67.64.95.201]) by mx1.freebsd.org (Postfix) with ESMTP id 85E4D13C467 for ; Sat, 14 Jul 2007 17:58:15 +0000 (UTC) (envelope-from scf@FreeBSD.org) Received: from thor.farley.org (thor.farley.org [192.168.1.5]) by mail.farley.org (8.14.1/8.14.1) with ESMTP id l6EI056i074618; Sat, 14 Jul 2007 13:00:05 -0500 (CDT) (envelope-from scf@FreeBSD.org) Date: Sat, 14 Jul 2007 12:57:57 -0500 (CDT) From: "Sean C. Farley" To: Andrey Chernov In-Reply-To: <20070714170328.GA37383@nagual.pp.ru> Message-ID: <20070714125346.U27236@thor.farley.org> References: <20070713202433.GA19856@nagual.pp.ru> <20070713203915.GA20270@nagual.pp.ru> <20070713171942.Q26096@thor.farley.org> <20070713224608.GB21695@nagual.pp.ru> <20070713184543.A26096@thor.farley.org> <20070714004116.GA22909@nagual.pp.ru> <20070713200048.X26971@thor.farley.org> <20070714014319.GA24701@nagual.pp.ru> <20070714022638.GA25256@nagual.pp.ru> <20070714080553.I27236@thor.farley.org> <20070714170328.GA37383@nagual.pp.ru> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.1 X-Spam-Checker-Version: SpamAssassin 3.2.1 (2007-05-02) on mail.farley.org Cc: freebsd-current Subject: Re: Environment handling broken in /bin/sh with changes to t,set,put}env() X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Jul 2007 17:58:15 -0000 On Sat, 14 Jul 2007, Andrey Chernov wrote: > On Sat, Jul 14, 2007 at 10:25:03AM -0500, Sean C. Farley wrote: *snip* >> The new patch is here: >> http://www.farley.org/freebsd/tmp/setenv/clearenv/patch2 > > Ok. > > BTW, I see no needs to duplicate code here: > > rtrnVal = __rebuild_environ(envVarsTotal); > if (rtrnVal == -1) { > savedErrno = errno; > __clean_env(true); > errno = savedErrno; > } > > return (rtrnVal); > > Failure: > savedErrno = errno; > __clean_env(true); > errno = savedErrno; > > return (-1); > > instead of simple: > > rtrnVal = __rebuild_environ(envVarsTotal); > if (rtrnVal == -1) > goto Failure; > > like before in this function. True. I also changed it to: if (__rebuild_environ(envVarsTotal) == 0) return (0); to get rid of the rtrnVal variable. Sean -- scf@FreeBSD.org