Thread (22 messages) flat view 22 messages, 3 authors, 2017-01-18

Re: [PATCH v2 1/3] mingw: adjust is_console() to work with stdin

From: Johannes Schindelin <hidden>
Date: 2016-12-23 09:31:24

Hi Beat,

On Fri, 23 Dec 2016, Beat Bolli wrote:
On 22.12.16 18:08, Johannes Schindelin wrote:
quoted
diff --git a/compat/winansi.c b/compat/winansi.c
index cb725fb02f..590d61cb1b 100644
--- a/compat/winansi.c
+++ b/compat/winansi.c
@@ -84,6 +84,7 @@ static void warn_if_raster_font(void)
 static int is_console(int fd)
 {
 	CONSOLE_SCREEN_BUFFER_INFO sbi;
+	DWORD mode;
Nit: can we move this definition into the block below where it's used?
quoted
 	HANDLE hcon;
 
 	static int initialized = 0;
@@ -98,7 +99,10 @@ static int is_console(int fd)
 		return 0;
 
 	/* check if its a handle to a console output screen buffer */
-	if (!GetConsoleScreenBufferInfo(hcon, &sbi))
+	if (!fd) {
Right here:
+               DWORD mode;
By that reasoning, the CONSOLE_SCREEN_BUFFER_INFO declaration that has
function-wide scope should also move below:
quoted
+		if (!GetConsoleMode(hcon, &mode))
+			return 0;
Right here.
quoted
+	} else if (!GetConsoleScreenBufferInfo(hcon, &sbi))
 		return 0;
 
 	/* initialize attributes */
As the existing code followed a different convention, so does my patch.

If you choose to submit a change that moved the `mode` declaration to
narrow its scope, please also move the `sbi` declaration for consistency.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help