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
p...@freebsd.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Attachment: pgpQW6Hk7kFLR.pgp
Description: PGP signature

Reply via email to