On Mon, Feb 01, 2021 at 11:20:04AM +0100, Peter Krempa wrote: > On Mon, Feb 01, 2021 at 10:09:25 +0000, Daniel Berrange wrote: > > On Mon, Feb 01, 2021 at 11:05:15AM +0100, Peter Krempa wrote: > > > On Mon, Feb 01, 2021 at 09:59:57 +0000, Daniel Berrange wrote: > > [...] > > > > In such case I'd strongly prefer if we replace all remaining usage of > > > VIR_FREE (even after this commit) right away to > > > g_clear_pointer(&ptr, g_free), whithout stretching the pain across > > > multiple spread-out refactoring steps. > > > > > > I don't have a problem getting rid of it, I just don't want it to be > > > dragging out forever. > > > > A bulk replacement isn't the right approach, because it will lead to > > greater code churn. Much usage of VIR_FREE is better replaced by use > > of g_autofree. What remains is better replaced by a simple g_free, > > only a relatively small amount needs g_clear_pointer. Bulking replacing > > everything with g_clear_pointer just means we'll need to replace it > > yet again with the desired final solution. > > Well, that is extremely unlikely to be done soon there's a bit over 4k > VIR_FREE's left in various forgotten and unused parts of libvirt that > wasn't touched in a long time. > > Spending time converting the use of those to g_free and g_autofree > manually would be in many cases a waste of time. > > If we ever want to get rid of VIR_FREE in a timely manner it will IMO be > better to just replace it by the identical code, and let the cleanups > happen gradually and more localized in the parts people care about > actually. > > >Incrementally converting > > our codebase is just fine. > > I'd agree with that, but approach in this commit is somewhere betwen > incremental and massive conversion. It picks the low hanging uses, but > leaves the ones which will likely stay there for a very long time. I'd say it picks the cases which are clearly correct to convert directly to g_free, and leaves the cases which are likely going to need to use either g_auto* or g_clear_pointer. IMHO this is the correct way to do the conversion. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|