Message ID | 1425400953-18482-1-git-send-email-mst@redhat.com |
---|---|
State | New |
Headers | show |
On Tue, 3 Mar 2015 17:43:30 +0100 "Michael S. Tsirkin" <mst@redhat.com> wrote: > g_ptr_array_new_with_free_func is there since glib 2.22, > use the older g_ptr_array_foreach instead. > > Reported-by: Peter Maydell <peter.maydell@linaro.org> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > --- Reviewed-by: Igor Mammedov <imammedo@redhat.com> > > Seems to work ok here. > Igor - can you pls confirm? > > hw/acpi/aml-build.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c > index 3e5949b..876cada 100644 > --- a/hw/acpi/aml-build.c > +++ b/hw/acpi/aml-build.c > @@ -299,7 +299,7 @@ static Aml *aml_bundle(uint8_t op, AmlBlockFlags flags) > return var; > } > > -static void aml_free(gpointer data) > +static void aml_free(gpointer data, gpointer user_data) > { > Aml *var = data; > build_free_array(var->buf); > @@ -310,13 +310,14 @@ Aml *init_aml_allocator(void) > Aml *var; > > assert(!alloc_list); > - alloc_list = g_ptr_array_new_with_free_func(aml_free); > + alloc_list = g_ptr_array_new(); > var = aml_alloc(); > return var; > } > > void free_aml_allocator(void) > { > + g_ptr_array_foreach(alloc_list, aml_free, NULL); > g_ptr_array_free(alloc_list, true); > alloc_list = 0; > }
diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 3e5949b..876cada 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -299,7 +299,7 @@ static Aml *aml_bundle(uint8_t op, AmlBlockFlags flags) return var; } -static void aml_free(gpointer data) +static void aml_free(gpointer data, gpointer user_data) { Aml *var = data; build_free_array(var->buf); @@ -310,13 +310,14 @@ Aml *init_aml_allocator(void) Aml *var; assert(!alloc_list); - alloc_list = g_ptr_array_new_with_free_func(aml_free); + alloc_list = g_ptr_array_new(); var = aml_alloc(); return var; } void free_aml_allocator(void) { + g_ptr_array_foreach(alloc_list, aml_free, NULL); g_ptr_array_free(alloc_list, true); alloc_list = 0; }
g_ptr_array_new_with_free_func is there since glib 2.22, use the older g_ptr_array_foreach instead. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- Seems to work ok here. Igor - can you pls confirm? hw/acpi/aml-build.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)