MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / wcharPtrToCharPtr

Method wcharPtrToCharPtr

src/thundersvm/util/log.cpp:938–950  ·  view source on GitHub ↗

@brief Converst wchar* to char NOTE: Need to free return value after use!

Source from the content-addressed store, hash-verified

936/// @brief Converst wchar* to char*
937/// NOTE: Need to free return value after use!
938 char* Str::wcharPtrToCharPtr(const wchar_t* line) {
939 std::size_t len_ = wcslen(line) + 1;
940 char* buff_ = static_cast<char*>(malloc(len_ + 1));
941# if ELPP_OS_UNIX || (ELPP_OS_WINDOWS && !ELPP_CRT_DBG_WARNINGS)
942 std::wcstombs(buff_, line, len_);
943# elif ELPP_OS_WINDOWS
944 std::size_t convCount_ = 0;
945 mbstate_t mbState_;
946 ::memset(static_cast<void*>(&mbState_), 0, sizeof(mbState_));
947 wcsrtombs_s(&convCount_, buff_, len_, &line, len_, &mbState_);
948# endif // ELPP_OS_UNIX || (ELPP_OS_WINDOWS && !ELPP_CRT_DBG_WARNINGS)
949 return buff_;
950 }
951
952// OS
953

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected