mirror of
https://github.com/curl/curl.git
synced 2026-07-23 18:17:15 +03:00
tool_cb_wrt: fix write output for very old Windows versions
- Pass missing parameter for 'lpNumberOfCharsWritten' to WriteConsoleW()
function.
Apparently this parameter was *not* optional on older Windows versions.
Issue observed on Windows XP SP2. Issue not observed on Windows 7 SP1.
So at some point between those two Microsoft changed the behavior.
Prior to this change, on those versions if parameter is NULL then the
function call fails with error ERROR_INVALID_ACCESS.
Regression since af3f4e41.
Ref: https://github.com/MicrosoftDocs/Console-Docs/issues/299
Fixes https://github.com/curl/curl/issues/12131
Closes https://github.com/curl/curl/pull/12130
This commit is contained in:
parent
82aa0642ec
commit
b1b7552803
1 changed files with 3 additions and 3 deletions
|
|
@ -237,7 +237,7 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
|
|||
if(isatty(fileno(outs->stream)) &&
|
||||
GetConsoleScreenBufferInfo((HANDLE)fhnd, &console_info)) {
|
||||
wchar_t *wc_buf;
|
||||
DWORD wc_len;
|
||||
DWORD wc_len, chars_written;
|
||||
unsigned char *rbuf = (unsigned char *)buffer;
|
||||
DWORD rlen = (DWORD)bytes;
|
||||
|
||||
|
|
@ -292,7 +292,7 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
|
|||
(HANDLE) fhnd,
|
||||
prefix,
|
||||
prefix[1] ? 2 : 1,
|
||||
NULL,
|
||||
&chars_written,
|
||||
NULL)) {
|
||||
return CURL_WRITEFUNC_ERROR;
|
||||
}
|
||||
|
|
@ -351,7 +351,7 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
|
|||
(HANDLE) fhnd,
|
||||
wc_buf,
|
||||
wc_len,
|
||||
NULL,
|
||||
&chars_written,
|
||||
NULL)) {
|
||||
free(wc_buf);
|
||||
return CURL_WRITEFUNC_ERROR;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue