From 2514ebc20fbf0d584926a3ff74080ca5881bf54b Mon Sep 17 00:00:00 2001 From: yhirose Date: Mon, 2 Sep 2024 20:38:01 -0400 Subject: [PATCH] Fix #1848 --- httplib.h | 4 ---- test/test.cc | 11 +++++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/httplib.h b/httplib.h index 0b482f4..29d09a7 100644 --- a/httplib.h +++ b/httplib.h @@ -2526,12 +2526,8 @@ inline std::string base64_encode(const std::string &in) { } inline bool is_file(const std::string &path) { -#ifdef _WIN32 - return _access_s(path.c_str(), 0) == 0; -#else struct stat st; return stat(path.c_str(), &st) >= 0 && S_ISREG(st.st_mode); -#endif } inline bool is_dir(const std::string &path) { diff --git a/test/test.cc b/test/test.cc index b2d565a..d960ab5 100644 --- a/test/test.cc +++ b/test/test.cc @@ -7561,3 +7561,14 @@ TEST(UniversalClientImplTest, Ipv6LiteralAddress) { CLIENT_PRIVATE_KEY_FILE); EXPECT_EQ(cli.port(), port); } + +TEST(FileSystemTest, FileAndDirExistenceCheck) { + auto file_path = "./www/dir/index.html"; + auto dir_path = "./www/dir"; + + EXPECT_TRUE(detail::is_file(file_path)); + EXPECT_FALSE(detail::is_dir(file_path)); + + EXPECT_FALSE(detail::is_file(dir_path)); + EXPECT_TRUE(detail::is_dir(dir_path)); +}