WinPmem icon indicating copy to clipboard operation
WinPmem copied to clipboard

Add flush after printf

Open vletoux opened this issue 4 years ago • 2 comments

Thanks for this excellent tool !

I tried to add a GUI over WinPmem for end user by redirecting stdin and stdout.

Short version: the output get buffered all at once when the program is terminating under a non console program. Which prohibits display console information provided by WinPmem when the work is in progress.

After a lot of investigation, I found out this article https://www.codeproject.com/Articles/16163/Real-Time-Console-Output-Redirection which points that under a pipe, the flush behavior of printf under MS C lib is changed when there is no console behind.

This problem will be fixed if a flush is added after each printf.

vletoux avatar Jun 22 '21 12:06 vletoux

Thank you, this is a very interesting observation. I observed similar things with stdin/out and pipes and maybe hit a brick wall. A flush can't hurt and maybe it prevents some of these strange effects. WriteConsole also seems to avoid a lot of issues which printf has sometimes.

I don't have time at the moment. Maybe you could do a pull request?

vivianezw avatar Jun 29 '21 08:06 vivianezw

Done (#34 )

vletoux avatar Jun 29 '21 08:06 vletoux