#include <inttypes.h> missing for 64 bit integers.

John E. Malmberg wb8tyw at qsl.net
Sun Feb 13 14:32:19 GMT 2005


Wayne Davison wrote:
> On Sat, Feb 12, 2005 at 10:07:05PM -0500, John E. Malmberg wrote:
> 
>>Rsync is not including this file, nor is there a feature test for this 
>>header file in the configure phase, but rsync is using [int64 and
>>uint64].
> 
> Rsync is defining its own int64 (using a define, not a typedef), so it
> is not depending on these fairly new types being found on the system
> (also, I thought they were really int64_t and uint64_t, but I could be
> wrong).

That is what the standard types are.

That define int int32 did not happen on my system for reasons that I 
have not yet determined.  I discovered it when the compile failed.

They do not seem to be "new" types, but common older non-standard types.

> It would probably be a good idea to add a test to configure to
> look for int64_t and make use of it, if necessary (with an appropriate
> include of inttypes.h or stdint.h, which configure already checks for,
> but rsync.h doesn't currently use).  The latest code no longer uses
> uint64.

int8, int16, int32, int64, etc... on my system are in the header file 
ints.h.

As near as I can determine from google:

For BEOS those definitions are in support/SupportDefs.h

For HP-UX those definitions are in model.h

Linux also seems to have ints.h.  At the present time, I do not have 
quick access to inspect the contents.

-John
wb8tyw at qsl.net
Personal Opinion Only



More information about the rsync mailing list