David Fritz <[EMAIL PROTECTED]> writes:

> It occurs to me now that the code should use STD_ERROR_HANDLE
> instead of STD_OUTPUT_HANDLE as that is where the progress bar
> goes. As it is, if stdout is redirected wget uses the default screen
> width even though output goes to stderr which is still a screen
> buffer.

OK.

> Also, there appears to have been a slight oversight when reformatting
> the patch. From looking at the code, it seems that
> determine_screen_width() will no longer return a value (zero) when
> neither TIOCGWINSZ nor WINDOWS are defined.

You're right.  This patch should fix both problems.

2004-01-29  Hrvoje Niksic  <[EMAIL PROTECTED]>

        * utils.c (determine_screen_width): Return 0 if not running on
        Windows or on a TIOCGWINSZ-capable system.

Index: src/utils.c
===================================================================
RCS file: /pack/anoncvs/wget/src/utils.c,v
retrieving revision 1.76
diff -u -r1.76 utils.c
--- src/utils.c 2004/01/28 13:42:52     1.76
+++ src/utils.c 2004/01/29 12:37:50
@@ -1674,10 +1674,12 @@
 #else  /* not TIOCGWINSZ */
 # ifdef WINDOWS
   CONSOLE_SCREEN_BUFFER_INFO csbi;
-  if (!GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), &csbi))
+  if (!GetConsoleScreenBufferInfo (GetStdHandle (STD_ERROR_HANDLE), &csbi))
     return 0;
   return csbi.dwSize.X;
-# endif /* WINDOWS */
+# else /* neither WINDOWS nor TIOCGWINSZ */
+  return 0;
+#endif /* neither WINDOWS nor TIOCGWINSZ */
 #endif /* not TIOCGWINSZ */
 }
 

Reply via email to