Re: [PATCH v4 03/13] parseopt: make OPT_INTEGER support hexadecimal as well
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 4, 2012, 05:32 UTC
- Message-ID
- <7vobtfjh9d.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CACsJy8Ba2qxyT4XqeRmUv63Z3rT1-FmBkZ3tB6YMh6qrXjLP1Q@mail.gmail.com>
Nguyen Thai Ngoc Duy <pclouds@gmail.com> writes:
Show 13 quoted lines
> 2012/2/4 Junio C Hamano <gitster@pobox.com>: >> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> 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?