Fixed: Display an error if adding more than once the same filename in BNP

This commit is contained in:
kervala 2016-01-23 18:49:10 +01:00
parent ddb001cf05
commit b539670eac

View file

@ -92,22 +92,32 @@ void packSubRecurse(const std::string &srcDirectory)
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);
// TODO: remove duplicate files if (pathContent.empty()) return;
// Sort filename // Sort filename
sort (pathContent.begin(), pathContent.end(), i_comp); sort (pathContent.begin(), pathContent.end(), i_comp);
// check for files with same name
for(uint i = 1, len = pathContent.size(); i < len; ++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());
return;
}
}
for (uint i=0; i<pathContent.size(); ++i) for (uint i=0; i<pathContent.size(); ++i)
{ {
if (keepFile(pathContent[i])) if (keepFile(pathContent[i]))
{ {
if (gBNPHeader.appendFile(pathContent[i])) if (gBNPHeader.appendFile(pathContent[i]))
{ {
printf("adding %s\n", pathContent[i].c_str()); printf("Adding %s\n", pathContent[i].c_str());
} }
else else
{ {
printf("error cannot open %s\n", pathContent[i].c_str()); printf("Error: cannot open %s\n", pathContent[i].c_str());
} }
} }
} }