clilist
Jeremy Allison
jra at samba.org
Wed Mar 23 01:52:17 GMT 2005
On Tue, Mar 22, 2005 at 08:43:22PM -0500, Derrell.Lipman at UnwiredUniverse.com wrote:
> Ok, here's what I know so far...
>
> The over-the-wire stuff looks approximately correct. However, when
> cli_list_new() calls fn(mnt,&finfo, Mask, state) near the bottom of the
> function, it properly calls it with each of the files in the FINDFIRST
> response (including all that are in continuation packets) but then appears to
> call it with the file name from last entry in the FIRSTFIRST response for what
> should be each of the files in the FINDNEXT responses.
The part of the function that calls fn() looks like :
for (p=dirlist,i=0;i<total_received;i++) {
const char *mnt = cli_cm_get_mntpoint( cli );
p += interpret_long_filename(cli,info_level,p,&finfo);
fn( mnt,&finfo, Mask, state );
}
dirlist should be the raw memory buffer containing the level responses
from the findfirst appended with all subsequent findnext's. total_received
is the sum of all the ff_searchcount returned from the client. The
interpret_long_filename returns the number of bytes consumed in this
filename entry. So p should be walking through the dirlist buffer one
entry at a time once all the ff/fn level info has been placed into it.
I don't see a bug in this....
Jeremy.
More information about the samba-technical
mailing list