mirror of
https://github.com/meshtastic/firmware.git
synced 2025-05-01 03:39:18 +00:00
Change recursive delete to be recursive
This commit is contained in:
parent
bc47dd574b
commit
e7dfd14917
@ -2,8 +2,8 @@
|
|||||||
#include "FSCommon.h"
|
#include "FSCommon.h"
|
||||||
|
|
||||||
void listDir(const char * dirname, uint8_t levels)
|
void listDir(const char * dirname, uint8_t levels)
|
||||||
#ifdef FSCom
|
|
||||||
{
|
{
|
||||||
|
#ifdef FSCom
|
||||||
File root = FSCom.open(dirname);
|
File root = FSCom.open(dirname);
|
||||||
if(!root){
|
if(!root){
|
||||||
return;
|
return;
|
||||||
@ -29,29 +29,41 @@ void listDir(const char * dirname, uint8_t levels)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void rmDir(const char * dirname)
|
void rmDir(const char * dirname)
|
||||||
#ifdef FSCom
|
|
||||||
{
|
{
|
||||||
File root = FSCom.open(dirname);
|
#ifdef FSCom
|
||||||
if(!root){
|
File file = FSCom.open(dirname);
|
||||||
|
if(!file){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!root.isDirectory()){
|
if(!file.isDirectory()){
|
||||||
|
file.close();
|
||||||
|
FSCom.remove(file.name());
|
||||||
|
// DEBUG_MSG("Remove FILE %s\n", file.name());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
File file = root.openNextFile();
|
file.rewindDirectory();
|
||||||
while(file){
|
while (true) {
|
||||||
if(file.isDirectory() && !String(file.name()).endsWith(".")) {
|
File entry = file.openNextFile();
|
||||||
file.close();
|
if (!entry) {
|
||||||
rmDir(file.name());
|
break;
|
||||||
FSCom.rmdir(file.name());
|
}
|
||||||
|
char dirpath[100]; // array to hold the result.
|
||||||
|
strcpy(dirpath, dirname); // copy string one into the result.
|
||||||
|
strcat(dirpath,"/"); // append string two to the result.
|
||||||
|
strcat(dirpath,entry.name()); // append string two to the result.
|
||||||
|
if(entry.isDirectory() && !String(entry.name()).endsWith(".")) {
|
||||||
|
entry.close();
|
||||||
|
// DEBUG_MSG("Descend DIR %s\n", dirpath);
|
||||||
|
rmDir(dirpath);
|
||||||
} else {
|
} else {
|
||||||
file.close();
|
entry.close();
|
||||||
FSCom.remove(file.name());
|
// DEBUG_MSG("Remove FILE %s\n", entry.name());
|
||||||
|
FSCom.remove(entry.name());
|
||||||
}
|
}
|
||||||
file.close();
|
|
||||||
file = root.openNextFile();
|
|
||||||
}
|
}
|
||||||
|
FSCom.rmdir(dirname);
|
||||||
|
// DEBUG_MSG("Remove DIR %s\n", dirname);
|
||||||
file.close();
|
file.close();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user