From: Johannes Sixt Date: Tue, 06 Nov 2007 09:18:02 GMT Subject: Re: [PATCH 4/4] Implement git commit and status as a builtin commands. Message-ID: <4730314A.9010403@viscovery.net> In-Reply-To: <20071106091222.GE4435@artemis.corp> Pierre Habouzit schrieb: > Btw, I'm starting to work slowly on the diff_opt_parse conversion to the > macro we discussed, and the need for new option parsing callbacks > arised, and I've created a: > > parse_opt_mask_{or,and,xor} commands that you declare this way: > > OPT_MASK_OR('a', "all", &mode, "...", MASK_ALL), > OPT_MASK_OR('i', "interactive", &mode, "...", MASK_INTERACTIVE), > ... > > And if you chose MASK_ALL/INTERACTIVE/.. to be single bits, > > if (!!all + !!interactive ... > 1) > > becomes[0]: > > if (mode & (mode - 1)) { > > } This goes too far, IMHO. That's unnecessary cleverness/microoptimization at the expense of readability. -- Hannes