include: fix sign extension in GBIT64

It fixes the "negative i/o offset" error that happens
when doing i/o on files larger than 2 GB.
This commit is contained in:
David du Colombier 2016-02-29 21:17:57 +01:00
parent 19a5046403
commit f58b31b7fb

View File

@ -37,7 +37,7 @@ struct Fcall
#define GBIT8(p) ((p)[0]) #define GBIT8(p) ((p)[0])
#define GBIT16(p) ((p)[0]|((p)[1]<<8)) #define GBIT16(p) ((p)[0]|((p)[1]<<8))
#define GBIT32(p) ((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24)) #define GBIT32(p) ((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24))
#define GBIT64(p) ((vlong)((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24)) |\ #define GBIT64(p) ((u32int)((p)[0]|((p)[1]<<8)|((p)[2]<<16)|((p)[3]<<24)) |\
((vlong)((p)[4]|((p)[5]<<8)|((p)[6]<<16)|((p)[7]<<24)) << 32)) ((vlong)((p)[4]|((p)[5]<<8)|((p)[6]<<16)|((p)[7]<<24)) << 32))
#define PBIT8(p,v) (p)[0]=(v) #define PBIT8(p,v) (p)[0]=(v)