Skip to content

1.11.4 : MBS <-> WCS correctness, refactoring, and performance (part 1) - #88

Open
synesissoftware wants to merge 7 commits into
1_11_4from
mbs-wcs
Open

synesissoftware wants to merge 7 commits into
1_11_4from
mbs-wcs

Conversation

@synesissoftware

Copy link
Copy Markdown
Owner

No description provided.

Add unit tests for the components that still call `mbstowcs()` /
`wcstombs()` directly:
- `multibyte2wide` / `wide2multibyte`, wide `exception_string_creator`, and
  the `error_desc_w` fallback;
- `ACE_Time_Value` wide shims, writing the non-`ACE_USES_WCHAR` conversion
  at the start of the destination buffer;
@synesissoftware
synesissoftware requested a review from mwsis October 28, 2026 00:09
@synesissoftware synesissoftware self-assigned this Oct 28, 2026
Write the non-`ACE_USES_WCHAR` `mbstowcs()` result at the start of the
destination, and call `mbstowcs_s()` / `wcstombs_s()` from the rejection
oracles when `STLSOFT_USING_SAFE_STR_FUNCTIONS` is set:
- **include/acestl/shims/access/string/time_value.hpp**;
- **test.unit.stlsoft.conversion.char_conversions**;
- **test.unit.stlsoft.util.exception_string_creator**;
@synesissoftware
synesissoftware marked this pull request as ready for review October 28, 2026 02:10
Add **test.unit.stlsoft.std.type_info**. Narrow shims are
`type_info::name()`, and the wide shims match an ASCII widening of that
name:
- `c_str_data_w`, `c_str_len_w`, `c_str_ptr_w`, and `c_str_ptr_null_w`;
Add **test.unit.stlsoft.std.exception**. Narrow shims are
`exception::what()`, and the wide shims match an ASCII widening of that
message. An empty `what()` yields an empty wide string and a null
`c_str_ptr_null_w`:
- `c_str_data_w`, `c_str_len_w`, `c_str_ptr_w`, and `c_str_ptr_null_w`;
@synesissoftware synesissoftware changed the title 1.11.4 : MBS <-> WCS correctness, refactoring, and performance 1.11.4 : MBS <-> WCS correctness, refactoring, and performance (part 1) Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants