[libvirt] [libvirt-glib] gobject: Correct docs for gvir_storage_pool_get_info()
Zeeshan Ali (Khattak)
zeeshanak at gnome.org
Wed Sep 23 18:03:26 UTC 2015
On Wed, Sep 23, 2015 at 3:00 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
> On Wed, Sep 23, 2015 at 02:54:51PM +0100, Zeeshan Ali (Khattak) wrote:
>> On Wed, Sep 23, 2015 at 2:18 PM, Daniel P. Berrange <berrange at redhat.com> wrote:
>> > On Wed, Sep 23, 2015 at 01:44:28PM +0100, Zeeshan Ali (Khattak) wrote:
>> >> The returned GVirStoragePoolInfo pointer is not a GObject so it must not
>> >> be unrefed using g_object_unref(). Since gvir_storage_pool_info_free()
>> >> is private function, callers must either use g_slice_free() or
>> >> g_boxed_free().
>> >> ---
>> >> Perhaps we should just make gvir_storage_pool_info_free() public instead?
>> >> libvirt-gobject/libvirt-gobject-storage-pool.c | 4 ++--
>> >> 1 file changed, 2 insertions(+), 2 deletions(-)
>> >> diff --git a/libvirt-gobject/libvirt-gobject-storage-pool.c b/libvirt-gobject/libvirt-gobject-storage-pool.c
>> >> index 7f26b1b..f015efa 100644
>> >> --- a/libvirt-gobject/libvirt-gobject-storage-pool.c
>> >> +++ b/libvirt-gobject/libvirt-gobject-storage-pool.c
>> >> @@ -277,8 +277,8 @@ GVirConfigStoragePool *gvir_storage_pool_get_config(GVirStoragePool *pool,
>> >> * @pool: the storage_pool
>> >> * @err: Place-holder for possible errors
>> >> *
>> >> - * Returns: (transfer full): the info. The returned object should be
>> >> - * unreffed with g_object_unref() when no longer needed.
>> >> + * Returns: (transfer full): the info. The returned pointer should be
>> >> + * freed using either #g_slice_free() or #g_boxed_free() when no longer needed.
>> >> */
>> >> GVirStoragePoolInfo *gvir_storage_pool_get_info(GVirStoragePool *pool,
>> >> GError **err)
>> > ACK
>> Thanks but just to be sure, I hope you didn't miss the details and
>> this comment below it:
>> > Perhaps we should just make gvir_storage_pool_info_free() public instead?
> Since we've defined it as a boxed type, I think recommending g_boxed_free
> is the right solution.
It's just that it's slightly awkward to use that, since you need to
pass it the gtype, not just the pointer.
> We should make sure our docs actually tell people
> this is a boxed type if they don't already :-)
> We should *not* in fact recommend g_slice_free(), as the use of the slice
> allocator is an internal implementation detail. We should be free to change
> to use a different allocator without breaking clients.
Sure, I pushed with g_slice_free() mention removed.
Zeeshan Ali (Khattak)
Befriend GNOME: http://www.gnome.org/friends/
More information about the libvir-list