ggml : cleanup path_str() (#18928)
- Remove pragmas as `std::codecvt_utf8` is not used. - Avoid implicit `strlen()`. Signed-off-by: Adrien Gallouët <angt@huggingface.co>
This commit is contained in:
parent
271191906c
commit
08f3f4a8a3
|
|
@ -77,39 +77,23 @@
|
||||||
#include "ggml-zendnn.h"
|
#include "ggml-zendnn.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// disable C++17 deprecation warning for std::codecvt_utf8
|
|
||||||
#if defined(__clang__)
|
|
||||||
# pragma clang diagnostic push
|
|
||||||
# pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
||||||
#elif defined(__GNUC__)
|
|
||||||
# pragma GCC diagnostic push
|
|
||||||
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
static std::string path_str(const fs::path & path) {
|
static std::string path_str(const fs::path & path) {
|
||||||
std::string u8path;
|
|
||||||
try {
|
try {
|
||||||
#if defined(__cpp_lib_char8_t)
|
#if defined(__cpp_lib_char8_t)
|
||||||
// C++20 and later: u8string() returns std::u8string
|
// C++20 and later: u8string() returns std::u8string
|
||||||
std::u8string u8str = path.u8string();
|
const std::u8string u8str = path.u8string();
|
||||||
u8path = std::string(reinterpret_cast<const char*>(u8str.c_str()));
|
return std::string(reinterpret_cast<const char *>(u8str.data()), u8str.size());
|
||||||
#else
|
#else
|
||||||
// C++17: u8string() returns std::string
|
// C++17: u8string() returns std::string
|
||||||
u8path = path.u8string();
|
return path.u8string();
|
||||||
#endif
|
#endif
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
|
return std::string();
|
||||||
}
|
}
|
||||||
return u8path;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__clang__)
|
|
||||||
# pragma clang diagnostic pop
|
|
||||||
#elif defined(__GNUC__)
|
|
||||||
# pragma GCC diagnostic pop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
using dl_handle = std::remove_pointer_t<HMODULE>;
|
using dl_handle = std::remove_pointer_t<HMODULE>;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue