From 3fc4d88d99b8629e7e3f97d6e70254ef0865a5e5 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 10 Dec 2002 23:44:33 +0000 Subject: Fix client reporting of 64 bit files. Jeremy. (This used to be commit 8dcbfa4e770d74d4ce6faaf1a0597d07d0a5cc81) --- source3/include/client.h | 2 +- source3/include/includes.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'source3/include') diff --git a/source3/include/client.h b/source3/include/client.h index 17fd150065..853ee7ae42 100644 --- a/source3/include/client.h +++ b/source3/include/client.h @@ -35,7 +35,7 @@ typedef struct file_info { - SMB_OFF_T size; + SMB_BIG_UINT size; uint16 mode; uid_t uid; gid_t gid; diff --git a/source3/include/includes.h b/source3/include/includes.h index 395b456fba..87b7e02cbf 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -590,10 +590,14 @@ typedef int socklen_t; #define SOFF_T(p, ofs, v) (SIVAL(p,ofs,(v)&0xFFFFFFFF), SIVAL(p,(ofs)+4,(v)>>32)) #define SOFF_T_R(p, ofs, v) (SIVAL(p,(ofs)+4,(v)&0xFFFFFFFF), SIVAL(p,ofs,(v)>>32)) #define IVAL_TO_SMB_OFF_T(buf,off) ((SMB_OFF_T)(( ((SMB_BIG_UINT)(IVAL((buf),(off)))) & ((SMB_BIG_UINT)0xFFFFFFFF) ))) +#define IVAL2_TO_SMB_BIG_UINT(buf,off) ( (((SMB_BIG_UINT)(IVAL((buf),(off)))) & ((SMB_BIG_UINT)0xFFFFFFFF)) | \ + (( ((SMB_BIG_UINT)(IVAL((buf),(off+4)))) & ((SMB_BIG_UINT)0xFFFFFFFF) ) << 32 ) ) #else #define SOFF_T(p, ofs, v) (SIVAL(p,ofs,v),SIVAL(p,(ofs)+4,0)) #define SOFF_T_R(p, ofs, v) (SIVAL(p,(ofs)+4,v),SIVAL(p,ofs,0)) #define IVAL_TO_SMB_OFF_T(buf,off) ((SMB_OFF_T)(( ((uint32)(IVAL((buf),(off)))) & 0xFFFFFFFF ))) +#define IVAL2_TO_SMB_BIG_UINT(buf,off) ( (((SMB_BIG_UINT)(IVAL((buf),(off)))) & ((SMB_BIG_UINT)0xFFFFFFFF)) | \ + (( ((SMB_BIG_UINT)(IVAL((buf),(off+4)))) & ((SMB_BIG_UINT)0xFFFFFFFF) ) << 32 ) ) #endif /* -- cgit