mirror of
https://github.com/samba-team/samba.git
synced 2025-02-23 09:57:40 +03:00
r6548: Fix bug #2622 - remove DPTR_MASK as it makes no sense.
Jeremy. (This used to be commit 927681c8c4458c77de2622557f1465fd5ca1c28b)
This commit is contained in:
parent
fc396cb220
commit
431a28a315
@ -224,17 +224,11 @@ true if two IP addresses are equal
|
||||
#define reg_get_subkey(full_keyname, key_name, subkey_name) \
|
||||
split_at_last_component(full_keyname, key_name, '\\', subkey_name)
|
||||
|
||||
/****************************************************************************
|
||||
Used by dptr_zero.
|
||||
****************************************************************************/
|
||||
|
||||
#define DPTR_MASK ((uint32)(((uint32)1)<<31))
|
||||
|
||||
/****************************************************************************
|
||||
Return True if the offset is at zero.
|
||||
****************************************************************************/
|
||||
|
||||
#define dptr_zero(buf) ((IVAL(buf,1)&~DPTR_MASK) == 0)
|
||||
#define dptr_zero(buf) (IVAL(buf,1) == 0)
|
||||
|
||||
/*******************************************************************
|
||||
copy an IP address from one buffer to another
|
||||
|
@ -624,11 +624,11 @@ BOOL dptr_fill(char *buf1,unsigned int key)
|
||||
DEBUG(1,("filling null dirptr %d\n",key));
|
||||
return(False);
|
||||
}
|
||||
offset = TellDir(dptr->dir_hnd);
|
||||
offset = (uint32)TellDir(dptr->dir_hnd);
|
||||
DEBUG(6,("fill on key %u dirptr 0x%lx now at %d\n",key,
|
||||
(long)dptr->dir_hnd,(int)offset));
|
||||
buf[0] = key;
|
||||
SIVAL(buf,1,offset | DPTR_MASK);
|
||||
SIVAL(buf,1,offset);
|
||||
return(True);
|
||||
}
|
||||
|
||||
@ -641,16 +641,22 @@ struct dptr_struct *dptr_fetch(char *buf,int *num)
|
||||
unsigned int key = *(unsigned char *)buf;
|
||||
struct dptr_struct *dptr = dptr_get(key, False);
|
||||
uint32 offset;
|
||||
long seekoff;
|
||||
|
||||
if (!dptr) {
|
||||
DEBUG(3,("fetched null dirptr %d\n",key));
|
||||
return(NULL);
|
||||
}
|
||||
*num = key;
|
||||
offset = IVAL(buf,1)&~DPTR_MASK;
|
||||
SeekDir(dptr->dir_hnd,(long)offset);
|
||||
offset = IVAL(buf,1);
|
||||
if (offset == (uint32)-1) {
|
||||
seekoff = -1;
|
||||
} else {
|
||||
seekoff = (long)offset;
|
||||
}
|
||||
SeekDir(dptr->dir_hnd,seekoff);
|
||||
DEBUG(3,("fetching dirptr %d for path %s at offset %d\n",
|
||||
key,dptr_path(key),offset));
|
||||
key,dptr_path(key),(int)seekoff));
|
||||
return(dptr);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user