Re: [libvirt] [PATCH] remove useless code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 05, 2009 at 01:55:39PM +0100, Jim Meyering wrote:
> "Daniel P. Berrange" <berrange@xxxxxxxxxx> wrote:
> ...
> > These two are not safe to remove. Look at the whole code block in
> > question:
> >
> >     if (diskVal->list == NULL)
> >         VIR_FREE(diskVal);
> >     else if (virConfSetValue(conf, "disk", diskVal) < 0) {
> >         diskVal = NULL;
> >         goto no_memory;
> >     }
> >     diskVal = NULL;
> >
> > In the case where virConfSetValue returned >= 0, we need to
> > still set diskVal = NULL.
> 
> Oops.  Thanks.
> 
> However, the original code is ugly enough that I have rewritten
> it to make it clear that regardless of the virConfSetValue outcome,
> we don't free that variable:
> 
>     if (diskVal->list != NULL) {
>         bool err = (virConfSetValue(conf, "disk", diskVal) < 0);
>         diskVal = NULL;
>         if (err)
>             goto no_memory;
>     }
>     VIR_FREE(diskVal);

I prefer if it had the return value check separate from the assignment,
eg

         int ret = virConfSetValue(conf, "disk", diskVal);
         diskVal = NULL;
         if (ret < 0)
             goto no_memory;

Regards,
Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]