>>> My ftp client sends "list -latr" and "-latr" is the content of
>>> PATH after processing for Params, so the problem seems
>>> to be in BuildFilePath.
>> "list -latr" and "-latr" are non standard FTP commands.
>> The bug is into your client.
> It's a standard and commercial FTP client, AceExpertFtp, I've used it for
> years, and even with the same custom server
> that used to work, it worked ok, now I tried compiled versions that used
> work and now doesn't, so there must be
> a problem on the 64-bit platform in the way of processing a buffer or
> something like that, what else can it be =?
You FTP client assume there is a Unix machine as the FTP server. On manyof
those Unix machines, the FTP server pass the directory command to the
command line utility "ls" for which "-latr" is valid options.
This behavious is defenitely not standard, not defined in the RFC.
The code you extracted from the component is an attempt to somewhat handle
>>> if Params = '' then
>>> Path := Client.Directory + '*.*'
>>> if (UpperCase(Params) = '-LA') or (UpperCase(Params)='-AL') then
>>> ListHidden := TRUE;
>>> Path := Client.Directory + '*.*';
>>> Path := BuildFilePath(Client, Client.Directory, Params);
You may extend that code to handle more "ls options" and specifically those
that you want.
I don't know the FTP client you use (AceExpertFtp) but there is probably a
configuration option, probably in the connection definition that tell the
client which kind of server it connect to, or tell the client to guess what
type of server it connect to. Change that option so that the client stop
sending "-latr" option.
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be