diff --git a/source/smbd/dir.c b/source/smbd/dir.c index 4f59205feb0..949e31210f6 100644 --- a/source/smbd/dir.c +++ b/source/smbd/dir.c @@ -641,8 +641,6 @@ BOOL dptr_SearchDir(struct dptr_struct *dptr, const char *name, long *poffset, S Fill the 5 byte server reserved dptr field. ****************************************************************************/ -#define DPTR_MASK ((uint32)(((uint32)1)<<31)) - BOOL dptr_fill(char *buf1,unsigned int key) { unsigned char *buf = (unsigned char *)buf1; @@ -655,13 +653,8 @@ BOOL dptr_fill(char *buf1,unsigned int key) 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)); - if (offset != (uint32)-1 && (offset & DPTR_MASK)) { - DEBUG(0,("dptr_fill: Error - offset 0x%x has bit 32 set. Can't use in server state.\n", - (unsigned int)offset )); - return False; - } buf[0] = key; - SIVAL(buf,1,offset | DPTR_MASK); + SIVAL(buf,1,offset); return(True); } @@ -685,7 +678,7 @@ struct dptr_struct *dptr_fetch(char *buf,int *num) if (offset == (uint32)-1) { seekoff = -1; } else { - seekoff = (long)(offset & ~DPTR_MASK); + seekoff = (long)offset; } SeekDir(dptr->dir_hnd,seekoff); DEBUG(3,("fetching dirptr %d for path %s at offset %d\n",