On Thu, Jun 09, 2005 at 01:26:52PM +0100, Tony Finch wrote: > On Thu, 9 Jun 2005, Michael Haardt wrote: > > > > I don't know if C requires that there must be an integer type that is > > large enough to hold off_t or time_t. AFAIK, both must be numeric types, > > but I may be wrong in thinking they may be special builtin types with a > > range larger than any other type. > > C89 guarantees that long is the longest integer type, but the invention of > long long broke that and C99 standardized the breakage. C99 introduces > intmax_t which is guaranteed to be the longest type supported by the > implementation and may be longer than any standard type including long > long.
I know that time_t is just a numeric (I think arithmetic is the correct term) type, so it does not have to be integral. I have no clue about off_t, although fractional offsets make no sense. On a system with 80 bit doubles and 32 bit integral types, using the double for off_t would be cheap, though. If so, I should write "while (n>=(off_t)1)" instead of "while (n)". Michael -- ## 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/
