[ On Wednesday, June 8, 2005 at 15:31:56 (+0200), Michael Haardt wrote: ]
> Subject: Re: [exim] Quota over 2GB supported?
>
> Indeed, C sucks when it comes to off_t and time_t.  There is no way to
> express literals for those types, either.  I don't know if C99 changes
> any of that.

You don't need C99 to make printf()'s portable for integer types that
might have different widths on different platforms -- only C89!  :-)

... or at least support in the compiler for concatenating adjacent
strings.

C99 does make this easier by requiring standard macro definitions for
format specifiers, but you can still define your own:

in some application-specific portability header:

        #ifdef OFF_T_IS_LONG_LONG
        # define MY_OFF_T_FMT           "%lld"
        #endif
        #ifdef OFF_T_IS_LONG
        # define MY_OFF_T_FMT           "%ld"
        #endif

and then in the code:

        printf("off_t value is: " MY_OFF_T_FMT ".\n", (off_t) foo);


(BTW, ``Just say NO to operating systems with "LARGE FILE SUPPORT"!!!!''
What a stupid idea that was just to appease the bass-ackwards ABI
nutcases.)

-- 
                                                Greg A. Woods

H:+1 416 218-0098  W:+1 416 489-5852 x122  VE3TCP  RoboHack <[EMAIL PROTECTED]>
Planix, Inc. <[EMAIL PROTECTED]>          Secrets of the Weird <[EMAIL 
PROTECTED]>

-- 
## 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