Comments (4)
If your application can afford it, you may also consider switching the process ANSI code page to UTF-8 using the application manifest: https://learn.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page#set-a-process-code-page-to-utf-8
(Only applies since Windows version 1903.)
from drmingw.
Yeah, use of ANSI instead of Unicode has been a long standing tech debt...
It's not just ExcHndlSetLogFileNameW
, but probably quite a few more internal functions that need changing.
I don't have much time to look into this, but I'd happily accept any PRs.
from drmingw.
I can make a PR to fix unicode handling in ExcHndl, including the case that the module file name contains unicode (e.g. if you rename the sample program to "sämple" it will no longer work).
What would be the appropriate prefix for wide char string variable names?
const char *szLogFileName
- I assumes
= string andz
= zero-terminated.- So for wide char strings should I use
const WCHAR *wszLogFileName
or also justconst WCHAR *szLogFileName
?
Should I also extend the tests for ExcHndlSetLogFileNameW
? If so, should I further split them into test_exchndl_dynamic_ansi
/test_exchndl_dynamic_unicode
and test_exchndl_static_ansi
/test_exchndl_static_unicode
, or should test_exchndl_dynamic
and test_exchndl_static
each test both the ANSI and Unicode functions at the same time?
from drmingw.
Thanks.
I don't think it's common to prefix wide strings with w
. I suspect the expectation is that everybody should be using wide char exclusively by now. See https://learn.microsoft.com/en-us/windows/win32/stg/coding-style-conventions
Yes, it would be good to exercise ExcHndlSetLogFileNameW
. We don't necessarily need two test executables. For example, we could use one test executable, and then choose ExcHndlSetLogFileName(A|W)
via a command line option. Whatever is easiest is fine by me.
from drmingw.
Related Issues (20)
- add copy to Clipboard
- Faulting location incorrect if executable uses ASLR. HOT 3
- Have it handle stack corruption HOT 3
- No source code is showing for projects built with MSYS2 HOT 4
- Reason for erroring out with posix threads? HOT 2
- Can exchndl be made to catch RaiseFailFastException? HOT 4
- catchsegv not resolving gnu_debuglink correctly HOT 8
- catchsegv clobbers Unicode arguments
- Feature request: Support ARM64 HOT 23
- Feature request: Allow opt-in to use system provided zlib HOT 1
- ExcHndl.dll can't print the crash call stack under Windows 7 HOT 20
- Dumping register values on x86_64 HOT 1
- Write minidump from exchndl.dll
- Release 0.9.8: Naming of link libraries different between 32 and 64 bit HOT 3
- What is the minimal OS to run the official drmingw release? HOT 2
- libwinpthread-1.dll missing from release HOT 9
- Save the result automatically HOT 3
- Is it possible to update drmingw to the latest version in the msys2 package? HOT 2
- better sample code in the home page HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drmingw.