MCPcopy Index your code
hub / github.com/NetHack/NetHack / kill_hilite

Function kill_hilite

win/tty/termcap.c:1037–1092  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1035}
1036
1037static void
1038kill_hilite(void)
1039{
1040 int c;
1041
1042 /* if colors weren't available, no freeing needed */
1043 if (hilites[CLR_BLACK] == nh_HI)
1044 return;
1045
1046 /* hilites[] will be set to NULL below, whether freed here or not */
1047
1048 if (hilites[CLR_BLACK]) {
1049 if (hilites[CLR_BLACK] != hilites[CLR_BLUE])
1050 free(hilites[CLR_BLACK]), hilites[CLR_BLACK] = NULL;
1051 }
1052 if (tgetnum(nhStr("Co")) >= 16) {
1053 if (hilites[CLR_BLUE])
1054 free(hilites[CLR_BLUE]);
1055 if (hilites[CLR_GREEN])
1056 free(hilites[CLR_GREEN]);
1057 if (hilites[CLR_CYAN])
1058 free(hilites[CLR_CYAN]);
1059 if (hilites[CLR_MAGENTA])
1060 free(hilites[CLR_MAGENTA]);
1061 if (hilites[CLR_RED])
1062 free(hilites[CLR_RED]);
1063 if (hilites[CLR_BROWN])
1064 free(hilites[CLR_BROWN]);
1065 } else {
1066 /* CLR_BLUE overlaps CLR_BRIGHT_BLUE, do not free */
1067 /* CLR_GREEN overlaps CLR_BRIGHT_GREEN, do not free */
1068 /* CLR_CYAN overlaps CLR_BRIGHT_CYAN, do not free */
1069 /* CLR_MAGENTA overlaps CLR_BRIGHT_MAGENTA, do not free */
1070 /* CLR_RED overlaps CLR_ORANGE, do not free */
1071 /* CLR_BROWN overlaps CLR_YELLOW, do not free */
1072 }
1073 /* CLR_GRAY is static 'nilstring', do not free */
1074 /* NO_COLOR is static 'nilstring', do not free */
1075 if (hilites[CLR_BRIGHT_BLUE])
1076 free(hilites[CLR_BRIGHT_BLUE]);
1077 if (hilites[CLR_BRIGHT_GREEN])
1078 free(hilites[CLR_BRIGHT_GREEN]);
1079 if (hilites[CLR_BRIGHT_CYAN])
1080 free(hilites[CLR_BRIGHT_CYAN]);
1081 if (hilites[CLR_BRIGHT_MAGENTA])
1082 free(hilites[CLR_BRIGHT_MAGENTA]);
1083 if (hilites[CLR_ORANGE])
1084 free(hilites[CLR_ORANGE]);
1085 if (hilites[CLR_YELLOW])
1086 free(hilites[CLR_YELLOW]);
1087 if (hilites[CLR_WHITE])
1088 free(hilites[CLR_WHITE]);
1089
1090 for (c = 0; c < CLR_MAX; c++)
1091 hilites[c] = NULL;
1092}
1093
1094#else /* UNIX && TERMINFO */

Callers 1

term_shutdownFunction · 0.85

Calls 1

tgetnumFunction · 0.85

Tested by

no test coverage detected