}
sendOPENDIR(Util.str2byte(dir, _fileEncoding));
readResponse();
if( _header.type != SSH_FXP_HANDLE ) {
throw new SftpException(SSH_FX_FAILURE, "Invalid FXP response: "+_header.type);
}
List<String> matches = new ArrayList<String>();
byte[] bPattern = Util.str2byte(sPattern, UTF8);
byte[] handle = _buffer.getString(); // filename
while( true ) {
sendREADDIR(handle);
readHeader();
if( _header.type == SSH_FXP_STATUS ) {
fill(_buffer, _header.length);
break;
} else if( _header.type != SSH_FXP_NAME ) {
throw new SftpException(SSH_FX_FAILURE, "Invalid FXP response: "+_header.type);
}
_buffer.rewind();
fill(_buffer.buffer, 0, 4);
_header.length -= 4;