Skip to content

Commit f6a5625

Browse files
committed
Win32: Fix fallback parsing of CSI SGR sequences
1 parent ac94fb7 commit f6a5625

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

win32/win32.c

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6793,44 +6793,46 @@ constat_attr(int count, const int *seq, WORD attr, WORD default_attr, int *rever
67936793
case 1:
67946794
bold = FOREGROUND_INTENSITY;
67956795
break;
6796+
case 22:
6797+
bold = 0;
6798+
break;
67966799
case 4:
67976800
#ifndef COMMON_LVB_UNDERSCORE
67986801
#define COMMON_LVB_UNDERSCORE 0x8000
67996802
#endif
68006803
attr |= COMMON_LVB_UNDERSCORE;
68016804
break;
6805+
case 24:
6806+
attr &= ~COMMON_LVB_UNDERSCORE;
6807+
break;
68026808
case 7:
68036809
rev = 1;
68046810
break;
6811+
case 27:
6812+
rev = 0;
6813+
break;
68056814

68066815
case 30:
68076816
attr &= ~(FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED);
68086817
break;
6809-
case 17:
68106818
case 31:
68116819
attr = (attr & ~(FOREGROUND_BLUE | FOREGROUND_GREEN)) | FOREGROUND_RED;
68126820
break;
6813-
case 18:
68146821
case 32:
68156822
attr = (attr & ~(FOREGROUND_BLUE | FOREGROUND_RED)) | FOREGROUND_GREEN;
68166823
break;
6817-
case 19:
68186824
case 33:
68196825
attr = (attr & ~FOREGROUND_BLUE) | FOREGROUND_GREEN | FOREGROUND_RED;
68206826
break;
6821-
case 20:
68226827
case 34:
68236828
attr = (attr & ~(FOREGROUND_GREEN | FOREGROUND_RED)) | FOREGROUND_BLUE;
68246829
break;
6825-
case 21:
68266830
case 35:
68276831
attr = (attr & ~FOREGROUND_GREEN) | FOREGROUND_BLUE | FOREGROUND_RED;
68286832
break;
6829-
case 22:
68306833
case 36:
68316834
attr = (attr & ~FOREGROUND_RED) | FOREGROUND_BLUE | FOREGROUND_GREEN;
68326835
break;
6833-
case 23:
68346836
case 37:
68356837
attr |= FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED;
68366838
break;

0 commit comments

Comments
 (0)