diff options
author | Jeremy Allison <jra@samba.org> | 1998-09-11 21:42:18 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-09-11 21:42:18 +0000 |
commit | 9b20e5bac2a7b83f8e3dfdf3a274a1ce12dbd92c (patch) | |
tree | 645fd7c7d70c04e88018e1c1233dc8df52989562 /source3/smbd/nttrans.c | |
parent | 27d0bef143fbc4d7547c022046c094bbdbd0bfc1 (diff) | |
download | samba-9b20e5bac2a7b83f8e3dfdf3a274a1ce12dbd92c.tar.gz samba-9b20e5bac2a7b83f8e3dfdf3a274a1ce12dbd92c.tar.xz samba-9b20e5bac2a7b83f8e3dfdf3a274a1ce12dbd92c.zip |
Ok so with this bugfix 64 bit file access actually seems to work :-).
Problems were just dumb bugs like (defining sys_lseek to return 'int' DOH !).
Jeremy.
(This used to be commit 54dd51176fbab18af0b21bdee71b53f8f86573a8)
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r-- | source3/smbd/nttrans.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 81b3ff26d52..5052e6d52ac 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -661,9 +661,16 @@ int reply_ntcreate_and_X(connection_struct *conn, put_long_date(p,sbuf.st_mtime); /* change time */ p += 8; SIVAL(p,0,fmode); /* File Attributes. */ - p += 12; + p += 4; +#ifdef LARGE_SMB_OFF_T + SIVAL(p,0, file_len); + SIVAL(p,4, file_len >> 32); +#else /* LARGE_SMB_OFF_T */ + SIVAL(p,0,file_len); +#endif /* LARGE_SMB_OFF_T */ + p += 8; #ifdef LARGE_SMB_OFF_T - SIVAL(p,0, file_len & 0xFFFFFFFF); + SIVAL(p,0, file_len); SIVAL(p,4, file_len >> 32); #else /* LARGE_SMB_OFF_T */ SIVAL(p,0,file_len); @@ -889,9 +896,16 @@ static int call_nt_transact_create(connection_struct *conn, put_long_date(p,sbuf.st_mtime); /* change time */ p += 8; SIVAL(p,0,fmode); /* File Attributes. */ - p += 12; + p += 4; +#ifdef LARGE_SMB_OFF_T + SIVAL(p,0, file_len); + SIVAL(p,4, (file_len >> 32)); +#else /* LARGE_SMB_OFF_T */ + SIVAL(p,0,file_len); +#endif /* LARGE_SMB_OFF_T */ + p += 8; #ifdef LARGE_SMB_OFF_T - SIVAL(p,0, file_len & 0xFFFFFFFF); + SIVAL(p,0, file_len); SIVAL(p,4, (file_len >> 32)); #else /* LARGE_SMB_OFF_T */ SIVAL(p,0,file_len); |