summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-08-23 23:15:18 +0000
committerAndrew Tridgell <tridge@samba.org>2001-08-23 23:15:18 +0000
commit759ca19f3223c28e3e3478b4001251d2cb0fbfd6 (patch)
tree86f8c220248752c328ff5cf51f12aac5b39f826d /source
parent04478786c364585bf0263dc00343a25af6fa0a89 (diff)
downloadsamba-759ca19f3223c28e3e3478b4001251d2cb0fbfd6.tar.gz
samba-759ca19f3223c28e3e3478b4001251d2cb0fbfd6.tar.xz
samba-759ca19f3223c28e3e3478b4001251d2cb0fbfd6.zip
use 32 bit locking if client doesn't do 64 bit
Diffstat (limited to 'source')
-rw-r--r--source/libsmb/clifile.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/libsmb/clifile.c b/source/libsmb/clifile.c
index b1be4aafc55..c325d882c9e 100644
--- a/source/libsmb/clifile.c
+++ b/source/libsmb/clifile.c
@@ -489,6 +489,10 @@ BOOL cli_lock64(struct cli_state *cli, int fnum,
int saved_timeout = cli->timeout;
int ltype;
+ if (! (cli->capabilities & CAP_LARGE_FILES)) {
+ return cli_lock(cli, fnum, offset, len, timeout, lock_type);
+ }
+
ltype = (lock_type == READ_LOCK? 1 : 0);
ltype |= LOCKING_ANDX_LARGE_FILES;
@@ -540,6 +544,10 @@ BOOL cli_unlock64(struct cli_state *cli, int fnum, SMB_BIG_UINT offset, SMB_BIG_
{
char *p;
+ if (! (cli->capabilities & CAP_LARGE_FILES)) {
+ return cli_unlock(cli, fnum, offset, len);
+ }
+
memset(cli->outbuf,'\0',smb_size);
memset(cli->inbuf,'\0',smb_size);