From: Christian Couder Date: Tue, 02 Aug 2011 06:28:37 GMT Subject: Re: [PATCH 09/18] revert: Don't create invalid replay_opts in parse_args Message-ID: <201108020828.37904.chriscool@tuxfamily.org> In-Reply-To: <1312222025-28453-10-git-send-email-artagnon@gmail.com> On Monday 01 August 2011 20:06:56 Ramkumar Ramachandra wrote: > > +static void verify_opt_compatible(const char *me, const char *base_opt, > ...) +{ > + const char *this_opt; > + va_list ap; > + int set; > + > + va_start(ap, base_opt); > + while ((this_opt = va_arg(ap, const char *))) { > + set = va_arg(ap, int); > + if (set) { > + va_end(ap); > + die(_("%s: %s cannot be used with %s"), > + me, this_opt, base_opt); > + } > + } > + va_end(ap); > +} Here I'd suggest: static void verify_opt_compatible(const char *me, const char *base_opt, ...) { const char *this_opt; va_list ap; va_start(ap, base_opt); while ((this_opt = va_arg(ap, const char *))) { int set = va_arg(ap, int); if (set) break; } va_end(ap); if (this_opt) die(_("%s: %s cannot be used with %s"), me, this_opt, base_opt); } Thanks and sorry for the late suggestions, Christian.