MCPcopy Create free account
hub / github.com/ModOrganizer2/modorganizer / removeDir

Method removeDir

src/shared/directoryentry.cpp:455–481  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

453}
454
455void DirectoryEntry::removeDir(const std::wstring& path)
456{
457 size_t pos = path.find_first_of(L"\\/");
458
459 if (pos == std::string::npos) {
460 for (auto iter = m_SubDirectories.begin(); iter != m_SubDirectories.end(); ++iter) {
461 DirectoryEntry* entry = *iter;
462
463 if (CaseInsensitiveEqual(entry->getName(), path)) {
464 entry->removeDirRecursive();
465 removeDirectoryFromList(iter);
466 delete entry;
467 break;
468 }
469 }
470 } else {
471 std::wstring dirName = path.substr(0, pos);
472 std::wstring rest = path.substr(pos + 1);
473
474 DirectoryStats dummy;
475 DirectoryEntry* entry = getSubDirectoryRecursive(dirName, false, dummy);
476
477 if (entry != nullptr) {
478 entry->removeDir(rest);
479 }
480 }
481}
482
483bool DirectoryEntry::remove(const std::wstring& fileName, int* origin)
484{

Callers 1

cleanStructureMethod · 0.80

Calls 5

CaseInsensitiveEqualFunction · 0.85
removeDirRecursiveMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
getNameMethod · 0.45

Tested by

no test coverage detected