Use intmax and uintmax to support 64-bit off_t, time_t, &c.
authorTaylor R Campbell <campbell@mumble.net>
Tue, 3 Aug 2010 22:35:33 +0000 (22:35 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Tue, 3 Aug 2010 22:35:33 +0000 (22:35 +0000)
commit1a24cc9da63c032efb8c2b0a15986e04e10ecfa1
tree3c483498048914e4ad6547b9d371e6c9c5ac6994
parentf1c4d46ddefb7d6ce2f07d69b22171f4f6caac40
Use intmax and uintmax to support 64-bit off_t, time_t, &c.

Eliminate BIGNUM_NO_ULONG.  Twenty years ago it may have made sense;
now too much of the system relies on having unsigned longs for it to
matter.

New routines convert between integers and intmax/uintmax.  The old
ones for long/unsigned long are still there, because they are likely
to be much faster on 32-bit systems.  Only a few uses of long have
been replaced by intmax -- the ones where it was obvious we were
converting between time_t, off_t, ino_t, &c., and long.  Others may
still be there.  Before:

(file-length "fnord")
;Value: 1235

After:

(file-length "fnord")
;Value: 4294968531

(`fnord' was created by seeking to byte 2^32 + 1234 or something and
writing a single byte there.)
14 files changed:
src/microcode/artutl.c
src/microcode/bignmint.h
src/microcode/bignum.c
src/microcode/bignum.h
src/microcode/configure.ac
src/microcode/confshared.h
src/microcode/extern.h
src/microcode/object.h
src/microcode/prims.h
src/microcode/prosenv.c
src/microcode/prosfile.c
src/microcode/pruxenv.c
src/microcode/pruxfs.c
src/microcode/utils.c