| 3208 | // Program is about to exit, so free all memory that was allocated. |
| 3209 | |
| 3210 | void FinalizeProgram(flag fSkip) |
| 3211 | { |
| 3212 | char sz[cchSzDef]; |
| 3213 | int i; |
| 3214 | |
| 3215 | DeallocatePIf(grid); |
| 3216 | for (i = 0; i < 10; i++) |
| 3217 | DeallocatePIf(us.rgszPath[i]); |
| 3218 | DeallocatePIf(us.szADB); |
| 3219 | DeallocatePIf(us.szStarsColor); |
| 3220 | DeallocatePIf(us.szAstColor); |
| 3221 | DeallocatePIf(us.szStarsList); |
| 3222 | DeallocatePIf(us.szExoList); |
| 3223 | DeallocatePIf(is.rgci); |
| 3224 | if (is.rgexod != NULL) { |
| 3225 | for (i = 0; i < is.cexod; i++) |
| 3226 | DeallocatePIf(is.rgexod[i].sz); |
| 3227 | DeallocateP(is.rgexod); |
| 3228 | } |
| 3229 | DeallocatePIf(is.szFileOut); |
| 3230 | DeallocatePIf(is.szFileScreen); |
| 3231 | for (i = 0; i < us.cSequenceLine; i++) |
| 3232 | DeallocatePIf(is.rgszLine[i]); |
| 3233 | if (is.rgszMacro != NULL) { |
| 3234 | for (i = 0; i < is.cszMacro; i++) |
| 3235 | DeallocatePIf(is.rgszMacro[i]); |
| 3236 | DeallocateP(is.rgszMacro); |
| 3237 | } |
| 3238 | if (is.rgszComment != NULL) { |
| 3239 | for (i = 0; i < is.cszComment; i++) |
| 3240 | DeallocatePIf(is.rgszComment[i]); |
| 3241 | DeallocateP(is.rgszComment); |
| 3242 | } |
| 3243 | for (i = 0; i < objMax; i++) |
| 3244 | if (szObjDisp[i] != szObjName[i]) |
| 3245 | DeallocateP((char *)szObjDisp[i]); |
| 3246 | for (i = 1; i <= cAspect2; i++) { |
| 3247 | if (szAspectDisp[i] != szAspectName[i]) |
| 3248 | DeallocateP((char *)szAspectDisp[i]); |
| 3249 | if (szAspectAbbrevDisp[i] != szAspectAbbrev[i]) |
| 3250 | DeallocateP((char *)szAspectAbbrevDisp[i]); |
| 3251 | if (szAspectGlyphDisp[i] != szAspectGlyph[i]) |
| 3252 | DeallocateP((char *)szAspectGlyphDisp[i]); |
| 3253 | } |
| 3254 | for (i = 1; i <= cStar; i++) |
| 3255 | DeallocatePIf(szStarCustom[i]); |
| 3256 | for (i = 0; i <= cRing; i++) |
| 3257 | DeallocatePIf(szWheel[i]); |
| 3258 | #ifdef ATLAS |
| 3259 | DeallocatePIf(is.rgae); |
| 3260 | DeallocatePIf(is.rgzc); |
| 3261 | DeallocatePIf(is.rgrun); |
| 3262 | DeallocatePIf(is.rgrue); |
| 3263 | DeallocatePIf(is.rgzonCol); |
| 3264 | #endif |
| 3265 | #ifdef INTERPRET |
| 3266 | for (i = 0; i < objMax; i++) |
| 3267 | if (szMindPart[i] != szMindPartDef[i]) |
no test coverage detected