summaryrefslogtreecommitdiff
path: root/source3/smbd/connection.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-09-03 18:40:31 +0000
committerJeremy Allison <jra@samba.org>1998-09-03 18:40:31 +0000
commit7bb86c1b132bce31a006ea9768a54db7a45fe1a5 (patch)
tree1802e8e2741345e91187fc4b149016af75990971 /source3/smbd/connection.c
parent4acd373e5bbd615141ceb5fb3c4a588a5b4581d7 (diff)
downloadsamba-7bb86c1b132bce31a006ea9768a54db7a45fe1a5.tar.gz
samba-7bb86c1b132bce31a006ea9768a54db7a45fe1a5.tar.bz2
samba-7bb86c1b132bce31a006ea9768a54db7a45fe1a5.zip
Ok - this is the 64 bit widening check in. It changes the configure
to check for stat64 and friends, and then changes much of Samba to use the data type SMB_OFF_T for file size information. stat/fstat/lstat/lseek/ftruncate have now become sys_stat etc. to hide the 64 bit calls if needed. Note that this still does not expose 64 bit functionality to the client, as the changes to the reply_xxx smb's are not yet done. This code change should make these changes possible. Still to do before full 64 bit-ness to the client: fcntl lock code. statfs code widening of dev_t and ino_t (now possible due to SMB_DEV_T and SMB_OFF_T types being in place). Let me know if wierd things happen after this check-in and I'll fix them :-). Jeremy. (This used to be commit 14500936c321d15995c963766aac67bf1f4e3824)
Diffstat (limited to 'source3/smbd/connection.c')
-rw-r--r--source3/smbd/connection.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source3/smbd/connection.c b/source3/smbd/connection.c
index 342a5f43bc..c3b6ba0199 100644
--- a/source3/smbd/connection.c
+++ b/source3/smbd/connection.c
@@ -88,7 +88,7 @@ BOOL yield_connection(connection_struct *conn,char *name,int max_connections)
bzero((void *)&crec,sizeof(crec));
/* remove our mark */
- if (lseek(fd,i*sizeof(crec),SEEK_SET) != i*sizeof(crec) ||
+ if (sys_lseek(fd,i*sizeof(crec),SEEK_SET) != i*sizeof(crec) ||
write(fd, &crec,sizeof(crec)) != sizeof(crec)) {
DEBUG(2,("Couldn't update lock file %s (%s)\n",fname,strerror(errno)));
if (fcntl_lock(fd,F_SETLKW,0,1,F_UNLCK)==False) {
@@ -159,14 +159,14 @@ BOOL claim_connection(connection_struct *conn,char *name,int max_connections,BOO
/* find a free spot */
for (i=0;i<max_connections;i++) {
if (i>=total_recs ||
- lseek(fd,i*sizeof(crec),SEEK_SET) != i*sizeof(crec) ||
+ sys_lseek(fd,i*sizeof(crec),SEEK_SET) != i*sizeof(crec) ||
read(fd,&crec,sizeof(crec)) != sizeof(crec)) {
if (foundi < 0) foundi = i;
break;
}
if (Clear && crec.pid && !process_exists(crec.pid)) {
- lseek(fd,i*sizeof(crec),SEEK_SET);
+ sys_lseek(fd,i*sizeof(crec),SEEK_SET);
bzero((void *)&crec,sizeof(crec));
write(fd, &crec,sizeof(crec));
if (foundi < 0) foundi = i;
@@ -206,7 +206,7 @@ BOOL claim_connection(connection_struct *conn,char *name,int max_connections,BOO
StrnCpy(crec.addr,client_addr(Client),sizeof(crec.addr)-1);
/* make our mark */
- if (lseek(fd,foundi*sizeof(crec),SEEK_SET) != foundi*sizeof(crec) ||
+ if (sys_lseek(fd,foundi*sizeof(crec),SEEK_SET) != foundi*sizeof(crec) ||
write(fd, &crec,sizeof(crec)) != sizeof(crec)) {
if (fcntl_lock(fd,F_SETLKW,0,1,F_UNLCK)==False) {
DEBUG(0,("ERROR: can't release lock on %s\n", fname));