From: Erik Faye-Lund Date: Sun, 09 Aug 2009 12:25:40 GMT Subject: Re: [PATCH] fix potential infinite loop given large unsigned integer 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 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