mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-17 04:51:52 +00:00
Fixed: Don't crash if a file is not unique in BNPs
This commit is contained in:
parent
f2368f2a91
commit
27d3fd12d9
1 changed files with 8 additions and 5 deletions
|
@ -85,14 +85,14 @@ bool i_comp(const string &s0, const string &s1)
|
||||||
return nlstricmp (CFile::getFilename(s0).c_str(), CFile::getFilename(s1).c_str()) < 0;
|
return nlstricmp (CFile::getFilename(s0).c_str(), CFile::getFilename(s1).c_str()) < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void packSubRecurse(const std::string &srcDirectory)
|
bool packSubRecurse(const std::string &srcDirectory)
|
||||||
{
|
{
|
||||||
vector<string> pathContent;
|
vector<string> pathContent;
|
||||||
|
|
||||||
printf ("Treating directory: %s\n", srcDirectory.c_str());
|
printf ("Treating directory: %s\n", srcDirectory.c_str());
|
||||||
CPath::getPathContent(srcDirectory, true, false, true, pathContent);
|
CPath::getPathContent(srcDirectory, true, false, true, pathContent);
|
||||||
|
|
||||||
if (pathContent.empty()) return;
|
if (pathContent.empty()) return true;
|
||||||
|
|
||||||
// Sort filename
|
// Sort filename
|
||||||
sort (pathContent.begin(), pathContent.end(), i_comp);
|
sort (pathContent.begin(), pathContent.end(), i_comp);
|
||||||
|
@ -102,8 +102,8 @@ void packSubRecurse(const std::string &srcDirectory)
|
||||||
{
|
{
|
||||||
if (toLower(CFile::getFilename(pathContent[i-1])) == toLower(CFile::getFilename(pathContent[i])))
|
if (toLower(CFile::getFilename(pathContent[i-1])) == toLower(CFile::getFilename(pathContent[i])))
|
||||||
{
|
{
|
||||||
nlerror("File %s is not unique in BNP!", CFile::getFilename(pathContent[i]).c_str());
|
nlwarning("File %s is not unique in BNP!", CFile::getFilename(pathContent[i]).c_str());
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,6 +121,8 @@ void packSubRecurse(const std::string &srcDirectory)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
@ -194,7 +196,8 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
CFile::deleteFile(gBNPHeader.BigFileName);
|
CFile::deleteFile(gBNPHeader.BigFileName);
|
||||||
|
|
||||||
packSubRecurse(srcDirectory);
|
if (!packSubRecurse(srcDirectory)) return 1;
|
||||||
|
|
||||||
return gBNPHeader.appendHeader() ? 0:-1;
|
return gBNPHeader.appendHeader() ? 0:-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue