Date: Wed, 1 Jun 2005 08:06:41 -0700 From: Luigi Rizzo <rizzo@icir.org> To: freebsd-arch@freebsd.org, delphij@delphij.net Subject: Re: [PATCH RFC] Add a macro for null mount options to sbin/mount* Message-ID: <20050601080641.H30391@xorpc.icir.org> In-Reply-To: <20050601150344.GA39784@dragon.NUXI.org>; from obrien@freebsd.org on Wed, Jun 01, 2005 at 08:03:44AM -0700 References: <1117613456.771.16.camel@spirit> <20050601150344.GA39784@dragon.NUXI.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 01, 2005 at 08:03:44AM -0700, David O'Brien wrote: > On Wed, Jun 01, 2005 at 04:10:56PM +0800, Xin LI wrote: > > Hi, -arch@, > > > > In our mount* utilities, the null mount option, which is usually be used > > as a terminator of an option vector, is defined with some hand-rolled > > terms, e.g.: {NULL}, {NULL, 0, 0, 0}, etc. > > > > I think it would be nice to have a new macro to deal with this, say, > > MOPT_NULL, which would be extended to {NULL, 0, 0, 0}, which can act as > > an explicit initialize. And in my opinion, something like: > > I think it is better to leave it alone. The "NULL" termination of a list > like this is a C idiom that should be clear to any C programmer. Hiding > the details in a macro (is MOPT_NULL an integer or a sentinel?) makes it > harder to see the idiom and know exactly what is going on and how this > list will be processed. on one side I have to agree here... however the alternative terms might cause problems with stricter compile flags (e.g. when some of the forms do not supply all fields), so perhaps a decent compromise could be to find a more explicative name such as MOPT_END or the like. cheers luigi > -- > -- David (obrien@FreeBSD.org) > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050601080641.H30391>