Re: [PATCH 17/18] revert: Introduce --continue to continue the operation
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Aug 2, 2011, 06:24 UTC
- Message-ID
- <201108020824.03046.chriscool@tuxfamily.org>
- In-Reply-To
- <1312222025-28453-18-git-send-email-artagnon@gmail.com>
On Monday 01 August 2011 20:07:04 Ramkumar Ramachandra wrote:
Show 25 quoted lines
> +static void verify_opt_mutually_compatible(const char *me, ...)
> +{
> + const char *opt1, *opt2;
> + va_list ap;
> + int set;
> +
> + va_start(ap, me);
> + while ((opt1 = va_arg(ap, const char *))) {
> + set = va_arg(ap, int);
> + if (set)
> + break;
> + }
> + if (!opt1)
> + goto ok;
> + while ((opt2 = va_arg(ap, const char *))) {
> + set = va_arg(ap, int);
> + if (set) {
> + va_end(ap);
> + die(_("%s: %s cannot be used with %s"),
> + me, opt1, opt2);
> + }
> + }
> +ok:
> + va_end(ap);
> +}I'd suggest something like this:
static void verify_opt_mutually_compatible(const char *me, ...)
{
const char *opt1, *opt2;
va_list ap; va_start(ap, me);
while ((opt1 = va_arg(ap, const char *))) {
int set = va_arg(ap, int);
if (set)
break;
}
if (opt1) {
while ((opt2 = va_arg(ap, const char *))) {
int set = va_arg(ap, int);
if (set)
break;
}
}
va_end(ap); if (opt1 && opt2)
die(_("%s: %s cannot be used with %s"), me, opt1, opt2);
}Thanks, Christian.