If I specify a ListPattern (e.g., ".txt"), NumFilesAndDirs returns -1 if no files match the pattern. If I keep all the same settings but a file matches the pattern, it succeeds. If I set ListPattern to "" it succeeds.
Here is the LastErrorText:
ChilkatLog: NumFilesAndDirs: DllDate: Apr 11 2013 ChilkatVersion: 188.8.131.52 UnlockPrefix: **** Username: **** Architecture: Little Endian; 32-bit Language: .NET 4.0 VerboseLogging: 0 FTP directory cache not fresh. Fetching dir listing... checkDirCache_listPattern: supportsMLSD: 0 MLSD is only used for full directory listings. Using LIST instead... ListDir: Sent PROT P command. ProtPResponse: 200 PROT command successful. Passive transfer mode setupPassiveDataSocket1: hostAddr: **** DataConnect: hostname: **** port: 52574 ConnectTimeoutMs_1: 30000 calling ConnectSocket2 IPV6 enabled connect with NO heartbeat. This is an IPV4 numeric address... AddrInfoList: AddrInfo: ai_flags: 4 ai_family: 2 ai_socktype: 1 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) --AddrInfo --AddrInfoList Connect using IPV4. ipAddress1: **** myIP_3: **** myPort_3: 50873 connect successful (2) socketOptions: SO_SNDBUF: 8192 SO_RCVBUF: 8192 TCP_NODELAY: 8192 --socketOptions --DataConnect --setupPassiveDataSocket1 SendingFtpCommand: sendingCommand: LIST *.dat --SendingFtpCommand Failed to convert listDir data socket to TLS listDir_fail_11 --ListDir --checkDirCache_listPattern N: -1 Failed. --NumFilesAndDirs --ChilkatLog
In the FTP protocol, directory listings are transferred on a separate data channel just like file download and uploads. It must be that for this FTP server, when no files match the pattern, that it entirely skips the establishment of the data channel (which is why you see the error listed as "Failed to convert listDir data socket to TLS")
I'll investigate. If I cannot reproduce the problem, it's likely because the FTP servers I have for testing don't behave in this way. In that case, I'll try to make a change that should work, and then you can test it. (The new build may take a day or so because of other work in progress..)
I'll post here when the new build is ready.