Autor Beitrag
Mr_Sven
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 38


D7 Prof., C# (VS 2008)
BeitragVerfasst: Di 09.11.04 17:33 
Beim TIdFTP.DirectoryListing tritt bei manchen FTP Servern ein Fehler auf, Speziell bei Linux.
TIdListFormat erkennt den Listentyp nicht, wenn die Übertragene Liste so aussieht:
ausblenden Quelltext
1:
2:
3:
drwx---r-t  14 u7649049 ftpusers     4096 Nov  7 13:53 .
drwx---r-t  14 u7649049 ftpusers     4096 Nov  7 13:53 ..
-rw-r--r--   1 u7649049 ftpusers    38318 Aug 21  2003 40159m.gif

Es wird hier keine Gesammtgröße übertragen und in der ersten Zeile ist bei den Rechten ein "t",
dass hat zur Folge, dass das Format nich erkannt wird.
Um das Problem zu Lösen muss die Datei "IdFTPList.pas" angepasst werden:

Bei Zeile 211:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
function TIdFTPListItems.CheckListFormat(Data: stringconst ADetails: Boolean = false): IdFTPListFormat;
  function IsUnixItem(SData: string): Boolean;
  begin
    result := (SData[1in ['L''D''-']) and
    (SData[2in ['R','W','X','-']) and
    (SData[3in ['R','W','X','-']) and
    (SData[4in ['R','W','X','-']) and
    (SData[5in ['R','W','X','-']) and
    (SData[6in ['R','W','X','-']) and
    (SData[7in ['R','W','X','-']) and
    (SData[8in ['R','W','X','-']) and
    (SData[9in ['R','W','X','-']) and
 //   (SData[10] in ['R','W','X','-']);     //  Old
    (SData[10in ['R','W','X','T','-']);   //  New
  end;


Moderiert von user profile iconUGrohne: Code- durch Delphi-Tags ersetzt.