in src/generic/log.c [165:215]
void destroyLogData(ClientData clientData, Tcl_Interp * interp)
{
LogData *logData = NULL;
if (clientData != NULL) {
logData = (LogData *) clientData;
/* ..................................................................... */
if (logData->listOfFilters != NULL) {
int i;
LogLevel ** logLevels = logData->listOfFilters;
for (i = 0; i < logData->filterSize; i++) {
if (logLevels[i] != NULL) {
destroyLogLevel(logLevels[i], interp);
}
}
WebFreeIfNotNull(logData->listOfFilters);
logData->filterSize = 0;
}
/* ................................................................ */
if (logData->listOfDests != NULL) {
int i;
LogDest ** logDests = logData->listOfDests;
for (i = 0; i < logData->destSize; i++) {
if (logDests[i] != NULL) {
destroyLogDest(logDests[i], interp);
}
}
WebFreeIfNotNull(logData->listOfDests);
logData->destSize = 0;
}
/* ................................................................ */
if (logData->listOfPlugIns != NULL) {
resetHashTableWithContent(logData->listOfPlugIns, TCL_STRING_KEYS,
destroyLogPlugIn, interp);
HashUtlDelFree(logData->listOfPlugIns);
logData->listOfPlugIns = NULL;
}
WebFreeIfNotNull(logData);
}
}