mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
FileUtil: Only attempt to write to the destination in Copy if there is actually content to write
This commit is contained in:
parent
24498ca315
commit
c6eb5e2623
@ -433,8 +433,18 @@ bool Copy(const std::string& source_path, const std::string& destination_path)
|
||||
#else
|
||||
std::ifstream source{source_path, std::ios::binary};
|
||||
std::ofstream destination{destination_path, std::ios::binary};
|
||||
destination << source.rdbuf();
|
||||
return source.good() && destination.good();
|
||||
|
||||
// Only attempt to write with << if there is actually something in the file
|
||||
if (source.peek() != std::ifstream::traits_type::eof())
|
||||
{
|
||||
destination << source.rdbuf();
|
||||
return source.good() && destination.good();
|
||||
}
|
||||
else
|
||||
{
|
||||
// We can't use source.good() here because eofbit will be set, so check for the other bits.
|
||||
return !source.fail() && !source.bad() && destination.good();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user