From: Ryan Flynn Date: Mon, 10 Aug 2009 16:17:40 GMT Subject: Re: [PATCH] fix potential infinite loop given large unsigned integer Message-ID: In-Reply-To: On Mon, Aug 10, 2009 at 8:24 AM, Johannes Schindelin wrote: > Hi, > > On Mon, 10 Aug 2009, Erik Faye-Lund wrote: > >> On Mon, Aug 10, 2009 at 7:24 AM, Christian >> Couder wrote: >> >> log10() appears to be C99, but can be emulated on earlier C-versions by >> >> doing #define log10(x) (log(x) / log(10.0)) >> > >> > That would mean linking with -lm? >> >> I guess so. Are we currently trying to avoid linking to the math-parts >> of libc? > > Yes. > > I guess we could fix the overflow thing very easily, though: > > static unsigned int digits_of_number(unsigned int number) { >        unsigned int result; >        for (result = 1; number; number /= 10, result++) >                ; /* do nothing */ >        return result; > } > > Ciao, > Dscho > > whoops, actually yours: digits_of_number(1) -> 2