mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-21 21:15:03 -05:00
Switch console prompt sanitisation to use StripCtrlChars.
Local functions in uxcons.c and wincons.c were calling the old simplistic sanitise_term_data to print console-based prompts. Now they use the same new system as everything else. This removes the last use of the ASCII-centric sanitise_term_data.
This commit is contained in:
parent
b9c74e84dc
commit
7b48922761
@ -499,9 +499,14 @@ static void console_close(FILE *outfp, int infd)
|
|||||||
static void console_prompt_text(FILE *outfp, const char *data, size_t len)
|
static void console_prompt_text(FILE *outfp, const char *data, size_t len)
|
||||||
{
|
{
|
||||||
bufchain sanitised;
|
bufchain sanitised;
|
||||||
|
bufchain_sink bs;
|
||||||
|
|
||||||
bufchain_init(&sanitised);
|
bufchain_init(&sanitised);
|
||||||
sanitise_term_data(&sanitised, data, len);
|
bufchain_sink_init(&bs, &sanitised);
|
||||||
|
StripCtrlChars *scc = stripctrl_new(BinarySink_UPCAST(&bs), false, 0);
|
||||||
|
put_data(scc, data, len);
|
||||||
|
stripctrl_free(scc);
|
||||||
|
|
||||||
while (bufchain_size(&sanitised) > 0) {
|
while (bufchain_size(&sanitised) > 0) {
|
||||||
ptrlen sdata = bufchain_prefix(&sanitised);
|
ptrlen sdata = bufchain_prefix(&sanitised);
|
||||||
fwrite(sdata.ptr, 1, sdata.len, outfp);
|
fwrite(sdata.ptr, 1, sdata.len, outfp);
|
||||||
|
@ -398,9 +398,14 @@ static void console_data_untrusted(HANDLE hout, const char *data, size_t len)
|
|||||||
{
|
{
|
||||||
DWORD dummy;
|
DWORD dummy;
|
||||||
bufchain sanitised;
|
bufchain sanitised;
|
||||||
|
bufchain_sink bs;
|
||||||
|
|
||||||
bufchain_init(&sanitised);
|
bufchain_init(&sanitised);
|
||||||
sanitise_term_data(&sanitised, data, len);
|
bufchain_sink_init(&bs, &sanitised);
|
||||||
|
StripCtrlChars *scc = stripctrl_new(BinarySink_UPCAST(&bs), false, 0);
|
||||||
|
put_data(scc, data, len);
|
||||||
|
stripctrl_free(scc);
|
||||||
|
|
||||||
while (bufchain_size(&sanitised) > 0) {
|
while (bufchain_size(&sanitised) > 0) {
|
||||||
ptrlen sdata = bufchain_prefix(&sanitised);
|
ptrlen sdata = bufchain_prefix(&sanitised);
|
||||||
WriteFile(hout, sdata.ptr, sdata.len, &dummy, NULL);
|
WriteFile(hout, sdata.ptr, sdata.len, &dummy, NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user