]> xenbits.xensource.com Git - libvirt.git/commitdiff
virlog: Introduce virLogFilterFree
authorErik Skultety <eskultet@redhat.com>
Mon, 4 Jul 2016 10:16:36 +0000 (12:16 +0200)
committerErik Skultety <eskultet@redhat.com>
Mon, 4 Jul 2016 14:44:30 +0000 (16:44 +0200)
Provide a separate method to free a logging filter object. This will come handy
once a method to create an individual logging filter object is introduced.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
src/libvirt_private.syms
src/util/virlog.c
src/util/virlog.h

index b644fb3bfc2577327e6ec09500cc66f9720de36b..ccb4c5e8558f4b6651f38c599e267ab703d52b62 100644 (file)
@@ -1815,6 +1815,7 @@ virLockSpaceReleaseResourcesForOwner;
 # util/virlog.h
 virLogDefineFilter;
 virLogDefineOutput;
+virLogFilterFree;
 virLogGetDefaultPriority;
 virLogGetFilters;
 virLogGetNbFilters;
index 96229d84731e99e08068531b7464c3b564f37c69..81ce73f3d4d35838f8a4876397e05ce26d068292 100644 (file)
@@ -86,8 +86,6 @@ struct _virLogFilter {
     virLogPriority priority;
     unsigned int flags;
 };
-typedef struct _virLogFilter virLogFilter;
-typedef virLogFilter *virLogFilterPtr;
 
 static int virLogFiltersSerial = 1;
 static virLogFilterPtr *virLogFilters;
@@ -243,16 +241,24 @@ virLogResetFilters(void)
 {
     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
index 4e01b1ecc576b4b3fdc03713586e36677c928bc0..cea6b8e2b96d7773a9d01d69930a3f48d621e8ba 100644 (file)
@@ -133,6 +133,9 @@ typedef struct _virLogMetadata *virLogMetadataPtr;
 typedef struct _virLogOutput virLogOutput;
 typedef virLogOutput *virLogOutputPtr;
 
+typedef struct _virLogFilter virLogFilter;
+typedef virLogFilter *virLogFilterPtr;
+
 /**
  * virLogOutputFunc:
  * @src: the source of the log message
@@ -192,6 +195,7 @@ int virLogDefineOutput(virLogOutputFunc f,
                        unsigned int flags);
 void virLogOutputFree(virLogOutputPtr output);
 void virLogOutputListFree(virLogOutputPtr *list, int count);
+void virLogFilterFree(virLogFilterPtr filter);
 
 /*
  * Internal logging API