Skip to content

codecvt: Re-implement do_out and do_unshift

Brad King requested to merge brad.king/cmake:codecvt-revise into master

The previous implementation assumed that only one byte would be given in the from buffer by the caller at a time. This may be true for MSVC but is not for the GNU library on Windows. Re-implement these methods to handle more than one byte per call.

Also simplify the state management by keeping all state between calls directly in the mbstate_t argument instead of using it to index our own heap-allocated state.

Fixes: #16893 (closed)

Merge request reports