Implemented \e[39m & \e[49m.

This commit is contained in:
Jason Hood 2012-06-01 23:42:58 +10:00
parent 4d2dec15d3
commit 4f78bdba6d
2 changed files with 23 additions and 15 deletions

36
ANSI.c
View File

@ -82,8 +82,9 @@
fix 32-bit process trying to identify 64-bit process; fix 32-bit process trying to identify 64-bit process;
hook _lwrite & _hwrite. hook _lwrite & _hwrite.
v1.52, 10 April, 2012: v1.52, 10 April & 1 June, 2012:
use ansicon.exe to enable 32-bit to inject into 64-bit. use ansicon.exe to enable 32-bit to inject into 64-bit;
implement \e[39m & \e[49m (only setting color, nothing else).
*/ */
#include "ansicon.h" #include "ansicon.h"
@ -387,6 +388,8 @@ void InterpretEscSeq( void )
else switch (es_argv[i]) else switch (es_argv[i])
{ {
case 0: case 0:
case 39:
case 49:
{ {
TCHAR def[4]; TCHAR def[4];
int a; int a;
@ -399,20 +402,25 @@ void InterpretEscSeq( void )
grm.reverse = TRUE; grm.reverse = TRUE;
a = -a; a = -a;
} }
grm.foreground = attr2ansi[a & 7]; if (es_argv[i] != 49)
grm.background = attr2ansi[(a >> 4) & 7]; grm.foreground = attr2ansi[a & 7];
if (es_argc == 1) if (es_argv[i] != 39)
grm.background = attr2ansi[(a >> 4) & 7];
if (es_argv[i] == 0)
{ {
grm.bold = a & FOREGROUND_INTENSITY; if (es_argc == 1)
grm.underline = a & BACKGROUND_INTENSITY; {
grm.bold = a & FOREGROUND_INTENSITY;
grm.underline = a & BACKGROUND_INTENSITY;
}
else
{
grm.bold = 0;
grm.underline = 0;
}
grm.rvideo = 0;
grm.concealed = 0;
} }
else
{
grm.bold = 0;
grm.underline = 0;
}
grm.rvideo = 0;
grm.concealed = 0;
} }
break; break;

View File

@ -66,7 +66,7 @@
pass process & thread identifiers on the command line (for x86->x64). pass process & thread identifiers on the command line (for x86->x64).
*/ */
#define PDATE L"10 April, 2012" #define PDATE L"1 June, 2012"
#include "ansicon.h" #include "ansicon.h"
#include "version.h" #include "version.h"