Fix -e et al when redirecting to NUL
Redirecting ansicon to NUL would still write to the console, as NUL is regarded as a character device. Export IsConsoleHandle and use that instead of _isatty.
This commit is contained in:
parent
4e44ad519d
commit
86512f67f6
1
acrt.def
1
acrt.def
@ -1,6 +1,7 @@
|
|||||||
EXPORTS
|
EXPORTS
|
||||||
__iob_func
|
__iob_func
|
||||||
_fileno
|
_fileno
|
||||||
|
_get_osfhandle
|
||||||
_iob
|
_iob
|
||||||
_isatty
|
_isatty
|
||||||
_setmode
|
_setmode
|
||||||
|
@ -92,6 +92,9 @@
|
|||||||
|
|
||||||
v1.84, 7 May, 2018:
|
v1.84, 7 May, 2018:
|
||||||
import the DLL.
|
import the DLL.
|
||||||
|
|
||||||
|
v1.85, 22 August, 2018:
|
||||||
|
use IsConsoleHandle for my_fputws, to distinguish NUL.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define PDATE L"22 August, 2018"
|
#define PDATE L"22 August, 2018"
|
||||||
@ -140,7 +143,7 @@ static HANDLE hConOut;
|
|||||||
// heck, DIY.
|
// heck, DIY.
|
||||||
int my_fputws( const wchar_t* s, FILE* f )
|
int my_fputws( const wchar_t* s, FILE* f )
|
||||||
{
|
{
|
||||||
if (_isatty( _fileno( f ) ))
|
if (IsConsoleHandle( (HANDLE)_get_osfhandle( _fileno( f ) ) ))
|
||||||
{
|
{
|
||||||
DWORD written;
|
DWORD written;
|
||||||
WriteConsole( hConOut, s, (DWORD)wcslen( s ), &written, NULL );
|
WriteConsole( hConOut, s, (DWORD)wcslen( s ), &written, NULL );
|
||||||
|
@ -89,6 +89,7 @@ typedef struct IMAGE_COR20_HEADER
|
|||||||
#define EXTERN __declspec(dllexport) extern
|
#define EXTERN __declspec(dllexport) extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
EXTERN BOOL IsConsoleHandle( HANDLE );
|
||||||
EXTERN int ProcessType( LPPROCESS_INFORMATION, PBYTE*, BOOL* );
|
EXTERN int ProcessType( LPPROCESS_INFORMATION, PBYTE*, BOOL* );
|
||||||
BOOL Wow64Process( HANDLE );
|
BOOL Wow64Process( HANDLE );
|
||||||
|
|
||||||
|
@ -340,7 +340,8 @@ Version History
|
|||||||
Legend: + added, - bug-fixed, * changed.
|
Legend: + added, - bug-fixed, * changed.
|
||||||
|
|
||||||
1.85 - 22 August, 2018:
|
1.85 - 22 August, 2018:
|
||||||
- fix wrap issues with a buffer bigger than the window.
|
- fix wrap issues with a buffer bigger than the window;
|
||||||
|
- fix -e et al when redirecting to NUL.
|
||||||
|
|
||||||
1.84 - 11 May, 2018:
|
1.84 - 11 May, 2018:
|
||||||
- close the flush handles on detach;
|
- close the flush handles on detach;
|
||||||
@ -605,6 +606,7 @@ Acknowledgments
|
|||||||
Vincent Fatica for pointing out \e[K was not right.
|
Vincent Fatica for pointing out \e[K was not right.
|
||||||
Nat Kuhn for pointing out the problem with report cursor position.
|
Nat Kuhn for pointing out the problem with report cursor position.
|
||||||
Michel Kempeneers for discovering the buffer wrap issue.
|
Michel Kempeneers for discovering the buffer wrap issue.
|
||||||
|
Jean-Luc Gautier for pointing out the problem with redirecting -e to NUL.
|
||||||
|
|
||||||
Thiadmer Riemersma for the nearest color algorithm.
|
Thiadmer Riemersma for the nearest color algorithm.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user