summaryrefslogtreecommitdiffstats
path: root/source/lib/util.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2000-04-12 23:01:11 +0000
committerJeremy Allison <jra@samba.org>2000-04-12 23:01:11 +0000
commit3de058bd43976853b0ed2b6b5529e2a3a08909eb (patch)
tree5918c823f3c7b621d1fa88fc67f59302adfa3753 /source/lib/util.c
parent9c3b9146a3baff4b2e403ae8fac6c48df1b7e642 (diff)
downloadsamba-3de058bd43976853b0ed2b6b5529e2a3a08909eb.tar.gz
samba-3de058bd43976853b0ed2b6b5529e2a3a08909eb.tar.xz
samba-3de058bd43976853b0ed2b6b5529e2a3a08909eb.zip
Removed "ole locking compat" parameter (no longer used).
We now get/set/check POSIX locks, but I still need to code up the close fd braindamage... Jeremy.
Diffstat (limited to 'source/lib/util.c')
-rw-r--r--source/lib/util.c35
1 files changed, 1 insertions, 34 deletions
diff --git a/source/lib/util.c b/source/lib/util.c
index 8c5ea1d208c..c78c839325b 100644
--- a/source/lib/util.c
+++ b/source/lib/util.c
@@ -2400,6 +2400,7 @@ BOOL fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type)
#if HAVE_FCNTL_LOCK
SMB_STRUCT_FLOCK lock;
int ret;
+
#if defined(LARGE_SMB_OFF_T)
/*
* In the 64 bit locking case we store the original
@@ -2410,40 +2411,6 @@ BOOL fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type)
SMB_OFF_T orig_count = count;
#endif /* LARGE_SMB_OFF_T */
- if(lp_ole_locking_compat()) {
- SMB_OFF_T mask2= ((SMB_OFF_T)0x3) << (SMB_OFF_T_BITS-4);
- SMB_OFF_T mask = (mask2<<2);
-
- /* make sure the count is reasonable, we might kill the lockd otherwise */
- count &= ~mask;
-
- /* the offset is often strange - remove 2 of its bits if either of
- the top two bits are set. Shift the top ones by two bits. This
- still allows OLE2 apps to operate, but should stop lockd from
- dieing */
- if ((offset & mask) != 0)
- offset = (offset & ~mask) | (((offset & mask) >> 2) & mask2);
- } else {
- SMB_OFF_T mask2 = ((SMB_OFF_T)0x4) << (SMB_OFF_T_BITS-4);
- SMB_OFF_T mask = (mask2<<1);
- SMB_OFF_T neg_mask = ~mask;
-
- /* interpret negative counts as large numbers */
- if (count < 0)
- count &= ~mask;
-
- /* no negative offsets */
- if(offset < 0)
- offset &= ~mask;
-
- /* count + offset must be in range */
- while ((offset < 0 || (offset + count < 0)) && mask)
- {
- offset &= ~mask;
- mask = ((mask >> 1) & neg_mask);
- }
- }
-
DEBUG(8,("fcntl_lock %d %d %.0f %.0f %d\n",fd,op,(double)offset,(double)count,type));
lock.l_type = type;