Compare commits

...

2 Commits

2 changed files with 9 additions and 9 deletions

View File

@ -281,11 +281,11 @@ public:
StreamError readLine(std::string& outString); StreamError readLine(std::string& outString);
mijin::Task<StreamError> c_readLine(std::string& outString); mijin::Task<StreamError> c_readLine(std::string& outString);
template<typename TChar = char> template<typename TChar = char, typename TTraits = std::char_traits<TChar>, typename TAllocator = MIJIN_DEFAULT_ALLOCATOR<char>>
StreamError readAsString(std::basic_string<TChar>& outString); StreamError readAsString(std::basic_string<TChar, TTraits, TAllocator>& outString);
template<typename TChar = char> template<typename TChar = char, typename TTraits = std::char_traits<TChar>, typename TAllocator = MIJIN_DEFAULT_ALLOCATOR<char>>
mijin::Task<StreamError> c_readAsString(std::basic_string<TChar>& outString); mijin::Task<StreamError> c_readAsString(std::basic_string<TChar, TTraits, TAllocator>& outString);
StreamError writeText(std::string_view str) StreamError writeText(std::string_view str)
{ {
@ -438,8 +438,8 @@ mijin::Task<StreamError> Stream::c_readRest(BaseTypelessBuffer<TAllocator>& outB
co_return StreamError::SUCCESS; co_return StreamError::SUCCESS;
} }
template<typename TChar> template<typename TChar, typename TTraits, typename TAllocator>
StreamError Stream::readAsString(std::basic_string<TChar>& outString) StreamError Stream::readAsString(std::basic_string<TChar, TTraits, TAllocator>& outString)
{ {
static_assert(sizeof(TChar) == 1, "Can only read to 8-bit character types (char, unsigned char or char8_t"); static_assert(sizeof(TChar) == 1, "Can only read to 8-bit character types (char, unsigned char or char8_t");
@ -474,8 +474,8 @@ StreamError Stream::readAsString(std::basic_string<TChar>& outString)
return StreamError::SUCCESS; return StreamError::SUCCESS;
} }
template<typename TChar> template<typename TChar, typename TTraits, typename TAllocator>
mijin::Task<StreamError> Stream::c_readAsString(std::basic_string<TChar>& outString) mijin::Task<StreamError> Stream::c_readAsString(std::basic_string<TChar, TTraits, TAllocator>& outString)
{ {
static_assert(sizeof(TChar) == 1, "Can only read to 8-bit character types (char, unsigned char or char8_t"); static_assert(sizeof(TChar) == 1, "Can only read to 8-bit character types (char, unsigned char or char8_t");

View File

@ -530,7 +530,7 @@ ConvertCharTypeResult convertCharType(const TFrom* chrFrom, std::size_t numFrom,
if (numTo < MB_CUR_MAX) if (numTo < MB_CUR_MAX)
{ {
char tmpBuf[MB_LEN_MAX]; char tmpBuf[MB_LEN_MAX];
const ConvertCharTypeResult result = convertCharType(chrFrom, tmpBuf, mbstate); const ConvertCharTypeResult result = convertCharType(chrFrom, numFrom, tmpBuf, MB_LEN_MAX, mbstate);
if (result && result.numWritten <= numTo) if (result && result.numWritten <= numTo)
{ {
std::memcpy(outTo, tmpBuf, result.numWritten); std::memcpy(outTo, tmpBuf, result.numWritten);