svn commit: samba r5699 - in trunk/source/smbd: .
jra at samba.org
jra at samba.org
Tue Mar 8 23:03:30 GMT 2005
Author: jra
Date: 2005-03-08 23:03:30 +0000 (Tue, 08 Mar 2005)
New Revision: 5699
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=5699
Log:
Fix problems where we're not pointing to the start of entry for a
couple of info levels - W2K3 always points to the start, not the name.
Jeremy.
Modified:
trunk/source/smbd/trans2.c
Changeset:
Modified: trunk/source/smbd/trans2.c
===================================================================
--- trunk/source/smbd/trans2.c 2005-03-08 22:42:32 UTC (rev 5698)
+++ trunk/source/smbd/trans2.c 2005-03-08 23:03:30 UTC (rev 5699)
@@ -811,7 +811,7 @@
BOOL dont_descend,char **ppdata,
char *base_data, int space_remaining,
BOOL *out_of_space, BOOL *got_exact_match,
- int *last_name_off)
+ int *last_entry_off)
{
const char *dname;
BOOL found = False;
@@ -828,6 +828,7 @@
uint32 len;
time_t mdate=0, adate=0, cdate=0;
char *nameptr;
+ char *last_entry_ptr;
BOOL was_8_3;
int nt_extmode; /* Used for NT connections instead of mode */
BOOL needslash = ( conn->dirpath[strlen(conn->dirpath) -1] != '/');
@@ -964,7 +965,7 @@
mangle_map(fname,False,True,SNUM(conn));
p = pdata;
- nameptr = p;
+ last_entry_ptr = p;
nt_extmode = mode ? mode : FILE_ATTRIBUTE_NORMAL;
@@ -1294,8 +1295,8 @@
return False; /* Not finished - just out of space */
}
- /* Setup the last_filename pointer, as an offset from base_data */
- *last_name_off = PTR_DIFF(nameptr,base_data);
+ /* Setup the last entry pointer, as an offset from base_data */
+ *last_entry_off = PTR_DIFF(last_entry_ptr,base_data);
/* Advance the data pointer to the next slot */
*ppdata = p;
@@ -1327,7 +1328,7 @@
pstring directory;
pstring mask;
char *p;
- int last_name_off=0;
+ int last_entry_off=0;
int dptr_num = -1;
int numentries = 0;
int i;
@@ -1454,7 +1455,7 @@
mask,dirtype,info_level,
requires_resume_key,dont_descend,
&p,pdata,space_remaining, &out_of_space, &got_exact_match,
- &last_name_off);
+ &last_entry_off);
}
if (finished && out_of_space)
@@ -1499,7 +1500,7 @@
SSVAL(params,2,numentries);
SSVAL(params,4,finished);
SSVAL(params,6,0); /* Never an EA error */
- SSVAL(params,8,last_name_off);
+ SSVAL(params,8,last_entry_off);
send_trans2_replies( outbuf, bufsize, params, 10, pdata, PTR_DIFF(p,pdata));
@@ -1554,7 +1555,7 @@
char *p;
uint16 dirtype;
int numentries = 0;
- int i, last_name_off=0;
+ int i, last_entry_off=0;
BOOL finished = False;
BOOL dont_descend = False;
BOOL out_of_space = False;
@@ -1691,7 +1692,7 @@
mask,dirtype,info_level,
requires_resume_key,dont_descend,
&p,pdata,space_remaining, &out_of_space, &got_exact_match,
- &last_name_off);
+ &last_entry_off);
}
if (finished && out_of_space)
@@ -1723,7 +1724,7 @@
SSVAL(params,0,numentries);
SSVAL(params,2,finished);
SSVAL(params,4,0); /* Never an EA error */
- SSVAL(params,6,last_name_off);
+ SSVAL(params,6,last_entry_off);
send_trans2_replies( outbuf, bufsize, params, 8, pdata, PTR_DIFF(p,pdata));
More information about the samba-cvs
mailing list