Normalize file system path. (#9463)
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
#include <cstddef> // for size_t
|
||||
#include <cstdint> // for int32_t, uint32_t
|
||||
#include <cstring> // for memcpy
|
||||
#include <filesystem> // for filesystem
|
||||
#include <filesystem> // for filesystem, weakly_canonical
|
||||
#include <fstream> // for ifstream
|
||||
#include <iterator> // for distance
|
||||
#include <limits> // for numeric_limits
|
||||
@@ -154,7 +154,8 @@ std::string LoadSequentialFile(std::string uri, bool stream) {
|
||||
// Open in binary mode so that correct file size can be computed with
|
||||
// seekg(). This accommodates Windows platform:
|
||||
// https://docs.microsoft.com/en-us/cpp/standard-library/basic-istream-class?view=vs-2019#seekg
|
||||
std::ifstream ifs(std::filesystem::u8path(uri), std::ios_base::binary | std::ios_base::in);
|
||||
auto path = std::filesystem::weakly_canonical(std::filesystem::u8path(uri));
|
||||
std::ifstream ifs(path, std::ios_base::binary | std::ios_base::in);
|
||||
if (!ifs) {
|
||||
// https://stackoverflow.com/a/17338934
|
||||
OpenErr();
|
||||
|
||||
Reference in New Issue
Block a user