Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Audit] Investigate using real wchar_t in Windows #2673

Closed
miniksa opened this issue Sep 5, 2019 · 0 comments
Closed

[Audit] Investigate using real wchar_t in Windows #2673

miniksa opened this issue Sep 5, 2019 · 0 comments
Assignees
Labels
Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. Area-Output Related to output processing (inserting text into buffer, retrieving buffer text, etc.) Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Product-Conhost For issues in the Console codebase Product-Terminal The new Windows Terminal.

Comments

@miniksa
Copy link
Member

miniksa commented Sep 5, 2019

As revealed by OutputCellIterator, the default Windows build rules do not treat wchar_t as a distinct type that differs from DWORD which results in a bunch of weirdness in OutputCellIterator to sort of treat them as the same.

This weirdness includes a reinterpret_cast on one of the constructors that causes an audit mode flag as well as a boolean that exists for no other purpose than to distinguish two of the construction paths because the types "look the same" to the Windows compiler settings.

Visual Studio, by default, treats wchar_t as its own type. So changing this and building outside won't really prove anything.

As such, this represents someone on the core contributor team who is employed by Microsoft going and finding out if we can turn on /Zc:wchar_t in the Windows build system and get away with it then resolving the audit issue and the otherwise weird/useless bool.

@miniksa miniksa added Product-Conhost For issues in the Console codebase Area-Output Related to output processing (inserting text into buffer, retrieving buffer text, etc.) Product-Terminal The new Windows Terminal. Issue-Task It's a feature request, but it doesn't really need a major design. Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. labels Sep 5, 2019
@ghost ghost added the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Sep 5, 2019
@miniksa miniksa removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Sep 5, 2019
@zadjii-msft zadjii-msft added this to the Console Backlog milestone Dec 19, 2019
@DHowett DHowett self-assigned this Jul 13, 2020
@ghost ghost added the Needs-Tag-Fix Doesn't match tag requirements label Jul 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. Area-Output Related to output processing (inserting text into buffer, retrieving buffer text, etc.) Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Product-Conhost For issues in the Console codebase Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

3 participants