curlx: add and use curlx_freopen()

To complement the existing `curlx_fopen()` internal API.
It's used by the curl's `--stderr` option.

`curlx_freopen()` adds two features to the bare `freopen()`:
- tracing for debug-enabled builds.
- Unicode and long-filename support for Windows builds.

In effect this adds long-filename and enables Unicode support for
the `--stderr <filename>` curl command-line option on Windows.

Also add to checksrc.

Follow-up to 2f17a9b654 #10673

Closes #19598
This commit is contained in:
Viktor Szakats 2025-11-19 01:10:48 +01:00
parent 2decbb1c1f
commit 3d80d37cf0
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
7 changed files with 68 additions and 11 deletions

View file

@ -76,7 +76,8 @@ warnings are:
- `EXCLAMATIONSPACE`: space found after exclamations mark
- `FOPENMODE`: `curlx_fopen()` needs a macro for the mode string, use it
- `FOPENMODE`: `curlx_fopen()`, `curlx_freopen()` need a macro for the mode
string, use it
- `INDENTATION`: detected a wrong start column for code. Note that this
warning only checks some specific places and can certainly miss many bad