Pranit Bauva <[email protected]> writes:
> On Fri, Apr 1, 2016 at 12:11 AM, Junio C Hamano <[email protected]> wrote:
>>
>> case OPTION_COUNTUP:
>> + if (*(int *)opt->value < 0)
>> + *(int *)opt->value = 0;
>> *(int *)opt->value = unset ? 0 : *(int *)opt->value + 1;
>>
>> That is, upon hitting this case arm, we know that an explicit option
>> was given from the command line, so the "unspecified" initial value,
>> if it is still there, gets reset to 0, and after doing that, we just
>> do the usual thing.
>
> This does look cleaner. Nice thinking that there is no need to
> actually specify when it gets 0. It gets 0 no matter what as long as
> OPTION_COUNTUP is speficied in any format (with or without --no) and
> variable is "unspecified".
I do not think there is any planned users of such an enhancement,
but the above points us into a future possibility to be able to do
this:
case OPTION_COUNTUP:
+ if (*(int *)opt->value < 0)
+ *(int *)opt->value = -*(int *)opt->value - 1;
*(int *)opt->value = unset ? 0 : *(int *)opt->value + 1;
That is, by using "-2" as the "unspecified" value, you can start
counting up from 2 (i.e. the presence of the option resets the
variable to 1 and then the option being not "unset" increments it)
if your application wants to.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html