virLogPriority priority;
unsigned int flags;
};
-typedef struct _virLogFilter virLogFilter;
-typedef virLogFilter *virLogFilterPtr;
static int virLogFiltersSerial = 1;
static virLogFilterPtr *virLogFilters;
{
size_t i;
- for (i = 0; i < virLogNbFilters; i++) {
- VIR_FREE(virLogFilters[i]->match);
- VIR_FREE(virLogFilters[i]);
- }
+ for (i = 0; i < virLogNbFilters; i++)
+ virLogFilterFree(virLogFilters[i]);
VIR_FREE(virLogFilters);
virLogNbFilters = 0;
virLogFiltersSerial++;
}
+void
+virLogFilterFree(virLogFilterPtr filter)
+{
+ if (!filter)
+ return;
+
+ VIR_FREE(filter->match);
+ VIR_FREE(filter);
+}
+
/**
* virLogDefineFilter:
* @match: the pattern to match
typedef struct _virLogOutput virLogOutput;
typedef virLogOutput *virLogOutputPtr;
+typedef struct _virLogFilter virLogFilter;
+typedef virLogFilter *virLogFilterPtr;
+
/**
* virLogOutputFunc:
* @src: the source of the log message
unsigned int flags);
void virLogOutputFree(virLogOutputPtr output);
void virLogOutputListFree(virLogOutputPtr *list, int count);
+void virLogFilterFree(virLogFilterPtr filter);
/*
* Internal logging API