Re: svn commit: r212050 - head/cddl/contrib/opensolaris/cmd/zpool

[ Available lists | Index of svn-src-all | Month of Aug 2010 | Week of 31 Aug 2010 | Raw email | View thread | Wrap long lines | Reply ]
From
Pawel Jakub Dawidek <pjd@FreeBSD.org>
Date
31 Aug 2010 19:03:05
Subject
Re: svn commit: r212050 - head/cddl/contrib/opensolaris/cmd/zpool
Message-ID
20100831190250.GB1932@garage.freebsd.pl

In reply to

[ Hide this part ]
On Tue, Aug 31, 2010 at 08:57:52PM +0200, Pawel Jakub Dawidek wrote:
> On Tue, Aug 31, 2010 at 08:44:21PM +0200, Fabian Keil wrote:
> > > + while (!stated) {
> > > + stated = B_TRUE;
> > > + if (statfs("/", &sfs) == -1) {
> > > + (void) fprintf(stderr,
> > > + "Unable to stat root file system: %s.\n",
> > > + strerror(errno));
> > > + break;
> > > + }
> > > + if (strcmp(sfs.f_fstypename, "zfs") != 0)
> > > + break;
> > > + poolname = sfs.f_mntfromname;
> > > + if ((slash = strchr(poolname, '/')) != NULL)
> > > + *slash = '\0';
> > > + break;
> > > + }
> > > + return (poolname != NULL && strcmp(poolname, zpool_get_name(zhp)) == 0);
> > > +}
> >
> > This while "loop" doesn't seem to loop at all, is this intended?
>
> Yes. This is a trick to avoid goto. I don't like tricks in code in
> general, but I hope the code is readable.

Actually it was there to avoid goto in the first version of the code.
In the committed version we don't need goto, so the loop can go away.
I eliminated it in r212067.

--
Pawel Jakub Dawidek http://www.wheelsystems.com
pjd@FreeBSD.org http://www.FreeBSD.org
FreeBSD committer Am I Evil? Yes, I Am!


[ Show this part (application/pgp-signature) ]

Elapsed time: 0.217 seconds