From owner-cvs-all@FreeBSD.ORG Mon Jun 20 09:41:06 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0560D16A41C; Mon, 20 Jun 2005 09:41:06 +0000 (GMT) (envelope-from tim@robbins.dropbear.id.au) Received: from smtp01.syd.iprimus.net.au (smtp01.syd.iprimus.net.au [210.50.30.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD42C43D4C; Mon, 20 Jun 2005 09:41:05 +0000 (GMT) (envelope-from tim@robbins.dropbear.id.au) Received: from robbins.dropbear.id.au (210.50.248.223) by smtp01.syd.iprimus.net.au (7.2.060.1) id 42A0AD7E00529C13; Mon, 20 Jun 2005 19:41:04 +1000 Received: by robbins.dropbear.id.au (Postfix, from userid 1000) id B08FF438C; Mon, 20 Jun 2005 19:41:03 +1000 (EST) Date: Mon, 20 Jun 2005 19:41:03 +1000 From: Tim Robbins To: Garance A Drosehn Message-ID: <20050620094103.GB54301@cat.robbins.dropbear.id.au> References: <200506200314.j5K3EUtt089472@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200506200314.j5K3EUtt089472@repoman.freebsd.org> User-Agent: Mutt/1.4.1i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/usr.bin/env env.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jun 2005 09:41:06 -0000 On Mon, Jun 20, 2005 at 03:14:29AM +0000, Garance A Drosehn wrote: > gad 2005-06-20 03:14:29 UTC > > FreeBSD src repository > > Modified files: > usr.bin/env env.c > Log: > If the `utility' specified starts with a '/' character, then execute it > without checking it for an equals-sign. If it starts with a slash, then > it cannot be a request to set the value of a valid environment variable. > > Approved by: re (blanket `env') This is not strictly correct: The value of an environment variable is a string of characters. For a C-language program, an array of strings called the environment shall be made available when a process begins. The array is pointed to by the external variable environ, which is defined as: extern char **environ; These strings have the form name=value; names shall not contain the character '='. For values to be portable across systems conforming to IEEE Std 1003.1-2001, the value shall be composed of characters from the portable character set (except NUL and as indicated below). There is no meaning associated with the order of strings in the environment. If more than one string in a process' environment has the same name, the consequences are undefined. (The Open Group Base Specifications Issue 6, section 8.1) Also, please be careful when adding new non-standard options and features; they tend to stick around forever. Tim