@brief Converst wchar* to char NOTE: Need to free return value after use!
| 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 |
nothing calls this directly
no outgoing calls
no test coverage detected