| 3072 |
break; |
break; |
| 3073 |
case 'm': // SGR |
case 'm': // SGR |
| 3074 |
if (StrBuff[1] == 0) { |
if (StrBuff[1] == 0) { |
| 3075 |
RepStr[0] = '0'; |
len = _snprintf_s_l(RepStr, sizeof(RepStr), _TRUNCATE, "0$r0", CLocale); |
|
RepStr[1] = '$'; |
|
|
RepStr[2] = 'r'; |
|
|
len = 3; |
|
| 3076 |
if (CharAttr.Attr & AttrBold) { |
if (CharAttr.Attr & AttrBold) { |
| 3077 |
RepStr[len++] = '1'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";1", CLocale); |
|
RepStr[len++] = ';'; |
|
| 3078 |
} |
} |
| 3079 |
if (CharAttr.Attr & AttrUnder) { |
if (CharAttr.Attr & AttrUnder) { |
| 3080 |
RepStr[len++] = '4'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";4", CLocale); |
|
RepStr[len++] = ';'; |
|
| 3081 |
} |
} |
| 3082 |
if (CharAttr.Attr & AttrBlink) { |
if (CharAttr.Attr & AttrBlink) { |
| 3083 |
RepStr[len++] = '5'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";5", CLocale); |
|
RepStr[len++] = ';'; |
|
| 3084 |
} |
} |
| 3085 |
if (CharAttr.Attr & AttrReverse) { |
if (CharAttr.Attr & AttrReverse) { |
| 3086 |
RepStr[len++] = '7'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";7", CLocale); |
|
RepStr[len++] = ';'; |
|
| 3087 |
} |
} |
| 3088 |
if (CharAttr.Attr2 & Attr2Fore) { |
if (CharAttr.Attr2 & Attr2Fore) { |
| 3089 |
int color = CharAttr.Fore; |
int color = CharAttr.Fore; |
| 3092 |
} |
} |
| 3093 |
|
|
| 3094 |
if (color <= 7) { |
if (color <= 7) { |
| 3095 |
RepStr[len++] = '3'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";3%d", CLocale, color); |
|
RepStr[len++] = '0' + color; |
|
|
RepStr[len++] = ';'; |
|
| 3096 |
} |
} |
| 3097 |
else if (color <= 15) { |
else if (color <= 15) { |
| 3098 |
if (ts.ColorFlag & CF_AIXTERM16) { |
if (ts.ColorFlag & CF_AIXTERM16) { |
| 3099 |
RepStr[len++] = '9'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";9%d", CLocale, color-8); |
|
RepStr[len++] = '0' + color - 8; |
|
|
RepStr[len++] = ';'; |
|
| 3100 |
} |
} |
| 3101 |
else if (ts.ColorFlag & CF_XTERM256) { |
else if (ts.ColorFlag & CF_XTERM256) { |
| 3102 |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "38;5;%d;", CLocale, color); |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";38;5;%d", CLocale, color); |
| 3103 |
} |
} |
| 3104 |
else if (ts.ColorFlag & CF_PCBOLD16) { |
else if (ts.ColorFlag & CF_PCBOLD16) { |
| 3105 |
RepStr[len++] = '3'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";3%d", CLocale, color-8); |
|
RepStr[len++] = '0' + color - 8; |
|
|
RepStr[len++] = ';'; |
|
| 3106 |
} |
} |
| 3107 |
} |
} |
| 3108 |
else if (ts.ColorFlag & CF_XTERM256) { |
else if (ts.ColorFlag & CF_XTERM256) { |
| 3109 |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "38;5;%d;", CLocale, color); |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";38;5;%d", CLocale, color); |
| 3110 |
} |
} |
| 3111 |
} |
} |
| 3112 |
if (CharAttr.Attr2 & Attr2Back) { |
if (CharAttr.Attr2 & Attr2Back) { |
| 3115 |
color += 8; |
color += 8; |
| 3116 |
} |
} |
| 3117 |
if (color <= 7) { |
if (color <= 7) { |
| 3118 |
RepStr[len++] = '4'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";4%d", CLocale, color); |
|
RepStr[len++] = '0' + color; |
|
|
RepStr[len++] = ';'; |
|
| 3119 |
} |
} |
| 3120 |
else if (color <= 15) { |
else if (color <= 15) { |
| 3121 |
if (ts.ColorFlag & CF_AIXTERM16) { |
if (ts.ColorFlag & CF_AIXTERM16) { |
| 3122 |
RepStr[len++] = '1'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";10%d", CLocale, color-8); |
|
RepStr[len++] = '0'; |
|
|
RepStr[len++] = '0' + color - 8; |
|
|
RepStr[len++] = ';'; |
|
| 3123 |
} |
} |
| 3124 |
else if (ts.ColorFlag & CF_XTERM256) { |
else if (ts.ColorFlag & CF_XTERM256) { |
| 3125 |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "48;5;%d;", CLocale, color); |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";48;5;%d", CLocale, color); |
| 3126 |
} |
} |
| 3127 |
else if (ts.ColorFlag & CF_PCBOLD16) { |
else if (ts.ColorFlag & CF_PCBOLD16) { |
| 3128 |
RepStr[len++] = '4'; |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";4%d", CLocale, color-8); |
|
RepStr[len++] = '0' + color - 8; |
|
|
RepStr[len++] = ';'; |
|
| 3129 |
} |
} |
| 3130 |
} |
} |
| 3131 |
else if (ts.ColorFlag & CF_XTERM256) { |
else if (ts.ColorFlag & CF_XTERM256) { |
| 3132 |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "48;5;%d;", CLocale, color); |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, ";48;5;%d", CLocale, color); |
| 3133 |
} |
} |
| 3134 |
} |
} |
|
if (len == 3) { |
|
|
RepStr[len++] = '0'; |
|
|
} |
|
|
else { |
|
|
len--; |
|
|
} |
|
| 3135 |
RepStr[len++] = 'm'; |
RepStr[len++] = 'm'; |
| 3136 |
RepStr[len] = 0; |
RepStr[len] = 0; |
| 3137 |
} |
} |