Re: [PATCH v4 03/13] parseopt: make OPT_INTEGER support hexadecimal as well

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Feb 4, 2012 at 12:32 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Nguyen Thai Ngoc Duy <pclouds@xxxxxxxxx> writes:
>
>> 2012/2/4 Junio C Hamano <gitster@xxxxxxxxx>:
>>> Nguyễn Thái Ngọc Duy  <pclouds@xxxxxxxxx> writes:
>>>
>>>> -             *(int *)opt->value = strtol(arg, (char **)&s, 10);
>>>> +             if (!prefixcmp(arg, "0x") || !prefixcmp(arg, "0X"))
>>>> +                     *(int *)opt->value = strtol(arg + 2, (char **)&s, 16);
>>>> +             else
>>>> +                     *(int *)opt->value = strtol(arg, (char **)&s, 10);
>>>
>>> Can't you just do "strtol(arg, (char **)&s, 0)" instead?
>>
>> I could but that means "01234" is now in base 8 and that's currently
>> accepted as base 10.
>
> Yes, but I wonder if that is a problem in practice. Who in the right mind
> would give 00001000 to tell git that they want one thousand?

That could come from a script, extracting info from a source (maybe a
log file) and not stripping leading zeros. If we go this route, I
think we should have one release that rejects such numbers first. If
nobody complains, then we proceed and allow octal in the next release.
-- 
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]