Re: TIdFTP.DirFormat is not updated

Giganews Newsgroups
Subject: Re: TIdFTP.DirFormat is not updated
Posted by:  Remy Lebeau \(Indy Team\) (re…
Date: Sat, 15 Jan 2011

"jvlad" <dm…> wrote in message

> my server supports MLSD command and Indy uses it, so
> the list returned by TIdFTP.List() method puts facts into
> the list. Unfortunately, TIdFTP.DirFormat is not updated
> by the List, it's  updated only if I call TIdFTP.DirectoryListing.

List() and ExtListDir() merely download the raw listing data.  The DirFormat
property is not meant to be updated until that data is parsed by the
DirectoryListing property afterwards.

> I'd recommend to re-implement this or introduce a
> new propery implemented via getter returning
> FListResult.FUsedMLS
> In this case it will always be consistent with last List()
> operation.

Only if MLSD is used every time.  Non-MLSD listings are not able to update
DirFormat inside of List() (unless List() is updated to do pre-parsing,
which would introduce more overhead, which you seem to be against alot).
Thus your suggestion introduces a new inconsistency between MLSD and
non-MLSD listings.

Under what situation would you need to know which command is used for
retreiving a listing, before accessing the parsed listing data?

Remy Lebeau (TeamB)


In response to

TIdFTP.DirFormat is not updated posted by jvlad on Sat, 15 Jan 2011