1
0
mirror of https://github.com/microsoft/DirectXTex synced 2024-11-21 12:00:06 +00:00

Fixed -flist handling for filenames with spaces (#402)

This commit is contained in:
Chuck Walbourn 2023-10-06 14:18:53 -07:00 committed by GitHub
parent cb5279f10e
commit d19b882a55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 30 deletions

View File

@ -491,10 +491,10 @@ namespace
std::list<SConversion> flist;
std::set<std::wstring> excludes;
auto fname = std::make_unique<wchar_t[]>(32768);
for (;;)
{
inFile >> fname.get();
std::wstring fname;
std::getline(inFile, fname);
if (!inFile)
break;
@ -506,13 +506,13 @@ namespace
{
if (flist.empty())
{
wprintf(L"WARNING: Ignoring the line '%ls' in -flist\n", fname.get());
wprintf(L"WARNING: Ignoring the line '%ls' in -flist\n", fname.c_str());
}
else
{
std::filesystem::path path(fname.get() + 1);
std::filesystem::path path(fname.c_str() + 1);
auto& npath = path.make_preferred();
if (wcspbrk(fname.get(), L"?*") != nullptr)
if (wcspbrk(fname.c_str(), L"?*") != nullptr)
{
std::list<SConversion> removeFiles;
SearchForFiles(npath, removeFiles, false);
@ -532,20 +532,18 @@ namespace
}
}
}
else if (wcspbrk(fname.get(), L"?*") != nullptr)
else if (wcspbrk(fname.c_str(), L"?*") != nullptr)
{
std::filesystem::path path(fname.get());
std::filesystem::path path(fname.c_str());
SearchForFiles(path.make_preferred(), flist, false);
}
else
{
SConversion conv = {};
std::filesystem::path path(fname.get());
std::filesystem::path path(fname.c_str());
conv.szSrc = path.make_preferred().native();
flist.push_back(conv);
}
inFile.ignore(1000, '\n');
}
inFile.close();

View File

@ -639,10 +639,10 @@ namespace
std::list<SConversion> flist;
std::set<std::wstring> excludes;
auto fname = std::make_unique<wchar_t[]>(32768);
for (;;)
{
inFile >> fname.get();
std::wstring fname;
std::getline(inFile, fname);
if (!inFile)
break;
@ -654,13 +654,13 @@ namespace
{
if (flist.empty())
{
wprintf(L"WARNING: Ignoring the line '%ls' in -flist\n", fname.get());
wprintf(L"WARNING: Ignoring the line '%ls' in -flist\n", fname.c_str());
}
else
{
std::filesystem::path path(fname.get() + 1);
std::filesystem::path path(fname.c_str() + 1);
auto& npath = path.make_preferred();
if (wcspbrk(fname.get(), L"?*") != nullptr)
if (wcspbrk(fname.c_str(), L"?*") != nullptr)
{
std::list<SConversion> removeFiles;
SearchForFiles(npath, removeFiles, false, nullptr);
@ -680,20 +680,18 @@ namespace
}
}
}
else if (wcspbrk(fname.get(), L"?*") != nullptr)
else if (wcspbrk(fname.c_str(), L"?*") != nullptr)
{
std::filesystem::path path(fname.get());
std::filesystem::path path(fname.c_str());
SearchForFiles(path.make_preferred(), flist, false, nullptr);
}
else
{
SConversion conv = {};
std::filesystem::path path(fname.get());
std::filesystem::path path(fname.c_str());
conv.szSrc = path.make_preferred().native();
flist.push_back(conv);
}
inFile.ignore(1000, '\n');
}
inFile.close();

View File

@ -481,10 +481,10 @@ namespace
std::list<SConversion> flist;
std::set<std::wstring> excludes;
auto fname = std::make_unique<wchar_t[]>(32768);
for (;;)
{
inFile >> fname.get();
std::wstring fname;
std::getline(inFile, fname);
if (!inFile)
break;
@ -496,13 +496,13 @@ namespace
{
if (flist.empty())
{
wprintf(L"WARNING: Ignoring the line '%ls' in -flist\n", fname.get());
wprintf(L"WARNING: Ignoring the line '%ls' in -flist\n", fname.c_str());
}
else
{
std::filesystem::path path(fname.get() + 1);
std::filesystem::path path(fname.c_str() + 1);
auto& npath = path.make_preferred();
if (wcspbrk(fname.get(), L"?*") != nullptr)
if (wcspbrk(fname.c_str(), L"?*") != nullptr)
{
std::list<SConversion> removeFiles;
SearchForFiles(npath, removeFiles, false);
@ -522,20 +522,18 @@ namespace
}
}
}
else if (wcspbrk(fname.get(), L"?*") != nullptr)
else if (wcspbrk(fname.c_str(), L"?*") != nullptr)
{
std::filesystem::path path(fname.get());
std::filesystem::path path(fname.c_str());
SearchForFiles(path.make_preferred(), flist, false);
}
else
{
SConversion conv = {};
std::filesystem::path path(fname.get());
std::filesystem::path path(fname.c_str());
conv.szSrc = path.make_preferred().native();
flist.push_back(conv);
}
inFile.ignore(1000, '\n');
}
inFile.close();