Re: [PATCH] fix potential infinite loop given large unsigned integer
- From
Erik Faye-Lund <kusmabite@googlemail.com>
- Date
- Aug 9, 2009, 12:25 UTC
- Message-ID
- <40aa078e0908090525h7b4d6efeh658e2edcfbe16c7e@mail.gmail.com>
- In-Reply-To
- <7v3a81a13z.fsf@alter.siamese.dyndns.org>
On Sun, Aug 9, 2009 at 9:38 AM, Junio C Hamano<gitster@pobox.com> wrote:
> + static char num_buf[64]; > rev.total = total + start_number - 1; > + sprintf(num_buf, "%d", rev.total); > + rev.num_width = strlen(num_buf);
how about rev.num_width = (int)log10((double)rev.total) + 1;
hm?
log10() appears to be C99, but can be emulated on earlier C-versions by doing #define log10(x) (log(x) / log(10.0))
-- Erik "kusma" Faye-Lund kusmabite@gmail.com (+47) 986 59 656