Date: Thu, 16 Sep 2010 21:36:43 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: "David O'Brien" <obrien@FreeBSD.org> Cc: Juli Mallett <jmallett@FreeBSD.org>, svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r212374 - head/usr.bin/printf Message-ID: <20100916212043.N724@delplex.bde.org> In-Reply-To: <20100916084442.GB21622@dragon.NUXI.org> References: <201009091927.o89JReXm022426@svn.freebsd.org> <AANLkTi=1KXtmwVobbnk8vCkQKDN01RxWh8Q5ZZqzU0tq@mail.gmail.com> <20100916084442.GB21622@dragon.NUXI.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1360494272-1284637003=:724 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Thu, 16 Sep 2010, David O'Brien wrote: > On Thu, Sep 09, 2010 at 12:51:11PM -0700, Juli Mallett wrote: >> On Thu, Sep 9, 2010 at 12:27, David E. O'Brien <obrien@freebsd.org> wrot= e: >>> Author: obrien >>> Date: Thu Sep =A09 19:27:40 2010 >>> New Revision: 212374 >>> URL: http://svn.freebsd.org/changeset/base/212374 >>> >>> Log: >>> =A0Note bug in trying to printf(1) things like: '-%s\n' "foo" >> >> Should we also add something like this note to every manual page for a >> program that operates on files as command line arguments after options >> w.r.t. operating on files whose names begin with '-'? > > No. Because most programs have a synopsis like: > > ls [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1] [-D format] [file ...] > > However, printf(1)'s is > > printf format [arguments ...] > > Which does not say it takes ANY command-line options. Thus why should > one expect to have to trick out any command-line arguments "--" as one > would with 'grep -- --i *.c'? > > Is a sentence or two a burden to the man page vs. saving someone the time > I spent trying to figure out why printf(1) kept throwing up errors? WHat about the lesser burder on a character or two for putting -- in the synopsis where it is more visible: =09printf [--] format [arguments ...] POSIX doesn't do this, and it doesn't seem to say anything about the problem of a leading - in the format either. Presumably its general utilities specs require _all_ utilities to support "--". I wonder if there are any utilities that don't use getopt(3) and as a result aren't POSIX conformant since they don't support "--" and also need to support a first argument starting with "-" (which won't cause problems because getopt() is not there to mess it up, but the POSIX-specified way of a "--" before the arg won't work. sleep(1) was such a utility until recently -- FreeBSD hacked on it to remove its getopt(3) call, but didn't remove its man page's claim of "is expected to be (1003.2) POSIX compatible". 1003.2 is almost 20 years old now, so someone should know if sleep(1) was actually compatible with it. Bruce --0-1360494272-1284637003=:724--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100916212043.N724>