Date: Wed, 23 Oct 2013 18:23:34 +0200 From: "Julian H. Stacey" <jhs@berklix.com> To: Hiroki Sato <hrs@freebsd.org> Cc: current@freebsd.org Subject: Re: Regression in 10.0-BETA1, mdconfig has changed its return code. Message-ID: <201310231623.r9NGNYRn046354@fire.js.berklix.net> In-Reply-To: Your message "Wed, 23 Oct 2013 12:54:29 %2B0900." <20131023.125429.1473962573103517143.hrs@allbsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Hiroki & current@ Hiroki Sato wrote: > "Julian H. Stacey" <jhs@berklix.com> wrote > jh> Regresssion in 10.0-BETA1, mdconfig -l -v return code changed from 0 > jh> to 255. OK, its not specfied in manual, but has changed. > jh> A test script I was using caught it: > jh> http://www.berklix.com/~jhs/bin/sh/mdconfig_tst I missed a '.' : http://www.berklix.com/~jhs/bin/.sh/mdconfig_tst > jh> Probably in next day or 2 I'll hack the C & send-pr. > > Does the attached patch fix it? Yes. It now returns zero. ( I started to read through what your diff fixes, but tired of it as there are no comments in the original what variables are, Glad you figured them out, & I assume all OK. ) Thanks for fixing it :-) > -- Hiroki > > Index: sbin/mdconfig/mdconfig.c > =================================================================== > --- sbin/mdconfig/mdconfig.c (revision 256952) > +++ sbin/mdconfig/mdconfig.c (working copy) > @@ -481,12 +481,18 @@ > printf("\n"); > /* XXX: Check if it's enough to clean everything. */ > geom_stats_snapshot_free(sq); > - if (((opt & OPT_UNIT) && (fflag == NULL) && ufound) || > - ((opt & OPT_UNIT) == 0 && (fflag != NULL) && ffound) || > - ((opt & OPT_UNIT) && (fflag != NULL) && ufound && ffound)) > - return (0); > - else > - return (-1); > + if (opt & OPT_UNIT) { > + if (((fflag == NULL) && ufound) || > + ((fflag == NULL) && (units != NULL) && ufound) || > + ((fflag != NULL) && ffound) || > + ((fflag != NULL) && (units != NULL) && ufound && ffound)) > + return (0); > + } else if (opt & OPT_LIST) { > + if ((fflag == NULL) || > + ((fflag != NULL) && ffound)) > + return (0); > + } > + return (-1); > } > > /* > Julian Stacey, BSD Unix Linux C Sys Eng Consultant, Munich http://berklix.com Interleave replies below like a play script. Indent old text with "> ". Send plain text, not quoted-printable, HTML, base64, or multipart/alternative.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310231623.r9NGNYRn046354>