summaryrefslogtreecommitdiff
path: root/source3/smbd/fileio.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-09-11 21:42:18 +0000
committerJeremy Allison <jra@samba.org>1998-09-11 21:42:18 +0000
commit9b20e5bac2a7b83f8e3dfdf3a274a1ce12dbd92c (patch)
tree645fd7c7d70c04e88018e1c1233dc8df52989562 /source3/smbd/fileio.c
parent27d0bef143fbc4d7547c022046c094bbdbd0bfc1 (diff)
downloadsamba-9b20e5bac2a7b83f8e3dfdf3a274a1ce12dbd92c.tar.gz
samba-9b20e5bac2a7b83f8e3dfdf3a274a1ce12dbd92c.tar.bz2
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/fileio.c')
-rw-r--r--source3/smbd/fileio.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/smbd/fileio.c b/source3/smbd/fileio.c
index f0bb5e45ac..d40c159798 100644
--- a/source3/smbd/fileio.c
+++ b/source3/smbd/fileio.c
@@ -36,6 +36,10 @@ SMB_OFF_T seek_file(files_struct *fsp,SMB_OFF_T pos)
offset = 3;
fsp->pos = (sys_lseek(fsp->fd_ptr->fd,pos+offset,SEEK_SET) - offset);
+
+ DEBUG(10,("seek_file: requested pos = %.0f, new pos = %.0f\n",
+ (double)(pos+offset), (double)fsp->pos ));
+
return(fsp->pos);
}
@@ -62,7 +66,7 @@ ssize_t read_file(files_struct *fsp,char *data,SMB_OFF_T pos,size_t n)
SMB_OFF_T num = (fsp->mmap_size > pos) ? (fsp->mmap_size - pos) : -1;
num = MIN(n,num);
#ifdef LARGE_SMB_OFF_T
- if ((num > 0) && (num < (1<<(sizeof(size_t)*8))) {
+ if ((num > 0) && (num < (1LL<<(sizeof(size_t)*8)))) {
#else /* LARGE_SMB_OFF_T */
if (num > 0) {
#endif /* LARGE_SMB_OFF_T */
@@ -76,7 +80,7 @@ ssize_t read_file(files_struct *fsp,char *data,SMB_OFF_T pos,size_t n)
#endif
if (seek_file(fsp,pos) != pos) {
- DEBUG(3,("Failed to seek to %.0f\n",(double)pos));
+ DEBUG(3,("read_file: Failed to seek to %.0f\n",(double)pos));
return(ret);
}