author | llornkcor <llornkcor> | 2002-03-12 02:40:58 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-03-12 02:40:58 (UTC) |
commit | c10fa05d94418620a08f25fc8d1436a2787f1446 (patch) (unidiff) | |
tree | 8cd2509ff5579cd577e557a3f9696951be8c8f33 /noncore | |
parent | 2b32b2dee7955b6be3fd58de9a84304405f74a40 (diff) | |
download | opie-c10fa05d94418620a08f25fc8d1436a2787f1446.zip opie-c10fa05d94418620a08f25fc8d1436a2787f1446.tar.gz opie-c10fa05d94418620a08f25fc8d1436a2787f1446.tar.bz2 |
added kludge for handling symlinks on remote server
-rw-r--r-- | noncore/net/opieftp/opieftp.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/noncore/net/opieftp/opieftp.cpp b/noncore/net/opieftp/opieftp.cpp index 151be84..e1dd582 100644 --- a/noncore/net/opieftp/opieftp.cpp +++ b/noncore/net/opieftp/opieftp.cpp | |||
@@ -445,7 +445,16 @@ void OpieFtp::remoteListClicked(QListViewItem *selectedItem) | |||
445 | } | 445 | } |
446 | currentRemoteDir=path; | 446 | currentRemoteDir=path; |
447 | } else { | 447 | } else { |
448 | if(strItem.find("/",0,TRUE) != -1) { | 448 | if(strItem.find("->",0,TRUE) != -1) { //symlink on some servers |
449 | strItem=strItem.right( strItem.length() - strItem.find("->",0,TRUE)-3 ); | ||
450 | strItem = strItem.stripWhiteSpace(); | ||
451 | currentRemoteDir = strItem; | ||
452 | if( remoteChDir( (const QString &)strItem) ==0) { | ||
453 | QString msg; | ||
454 | msg.sprintf("Unable to change directories \n%s",FtpLastResponse(conn)); | ||
455 | QMessageBox::message("Note",msg); | ||
456 | } | ||
457 | } else if(strItem.find("/",0,TRUE) != -1) { | ||
449 | if( remoteChDir( (const QString &)currentRemoteDir+strItem) ==0) { | 458 | if( remoteChDir( (const QString &)currentRemoteDir+strItem) ==0) { |
450 | QString msg; | 459 | QString msg; |
451 | msg.sprintf("Unable to change directories \n%s",FtpLastResponse(conn)); | 460 | msg.sprintf("Unable to change directories \n%s",FtpLastResponse(conn)); |