mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-16 02:03:07 -07:00
BUGFIX: Fixed deletion from hard drive (failed for non-empty folders)
This commit is contained in:
parent
e8e1c7f91f
commit
9f075f5087
4 changed files with 32 additions and 4 deletions
27
src/misc.h
27
src/misc.h
|
@ -101,6 +101,33 @@ class misc : public QObject{
|
|||
return qBtPath;
|
||||
}
|
||||
|
||||
static bool removePath(QString path){
|
||||
if(!QFile::remove(path)){
|
||||
// Probably a folder
|
||||
QDir current_dir(path);
|
||||
if(current_dir.exists()){
|
||||
//Remove sub items
|
||||
QStringList subItems = current_dir.entryList();
|
||||
QString item;
|
||||
foreach(item, subItems){
|
||||
if(item != "." && item != ".."){
|
||||
qDebug("-> Removing "+(path+QDir::separator()+item).toUtf8());
|
||||
removePath(path+QDir::separator()+item);
|
||||
}
|
||||
}
|
||||
// Remove empty folder
|
||||
if(current_dir.rmpath(path)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Function called by curl to write the data to the file
|
||||
static int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream){
|
||||
return fwrite(buffer, size, nmemb, (FILE*)stream);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue