On 2013-12-02 at 17:06 -0500, Phil Pennock wrote:
> We have to decide on how to resolve a coding issue in Exim, and there
> are two fixes available.  One fix adds a bunch of complexity.  The other
> fix just starts using 64-bit integers.  I _think_, that as we approach
> 2014, we can now rely upon 64-bit integers being available, but we don't
> want to leave a platform behind if it's still in use with Exim.

Note: 64-bit integers are often available on 32-bit userlands.  A 32-bit
kernel, or a VM, shouldn't matter.

You should be able to compile and run this, and see "4294967297" printed
twice, which is (2^32 + 1):

----------------------------8< cut here >8------------------------------
#include <stdint.h>
#include <stdio.h>

int
main(int argc, char *argv[]) {
        int64_t s64;
        uint64_t u64;

        s64 = 1LL + (1LL << 32);
        u64 = 1LL + (1LL << 32);

        printf("signed: %lld\nunsigned: %llu\n", s64, u64);
}
----------------------------8< cut here >8------------------------------

If that works, then you're fine.  If it doesn't work, then we need to
figure out if that's because your system is so old that it doesn't like
<stdint.h> and the LL modifier, or if it's because your system really
truly doesn't support 64-bit integers in C source code.

Thanks,
-Phil

Attachment: pgplKEBmDHKny.pgp
Description: PGP signature

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

Reply via email to