On Thu, 9 Jun 2005, Michael Haardt wrote:

> Since Exim uses mostly string_sprintf(), perhaps it is time for
> its own *printf implementation instead of internally using libc.

I do not trust myself to write such code in a way that is as efficient
and numerically accurate as the standard library. Especially not for 
floating point formats.

> I usually do that in larger projects, which has the advantage
> of being able to use format specifiers for sockaddr, off_t
> and time_t.

Exim already has some private formats for string_vformat(), but for the 
actual conversions, it calls the library.

It sounds to me as though I should parameterize the format using a 
macro, default it to "%lld" if off_t is long long, and see what happens.
If we hit a system that doesn't know about ll, the chances are that it
is 32-bit, and a suitable setting of the macro will solve the problem.

-- 
Philip Hazel            University of Cambridge Computing Service,
[EMAIL PROTECTED]      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to