On Fri, Sep 05, 2014 at 04:37:13PM +0800, arei.gong...@huawei.com wrote:
[...]
> +static void del_original_boot_device(DeviceState *dev, const char *suffix)
> +{
> +    FWBootEntry *i;
> +
> +    if (dev == NULL) {
> +        return;
> +    }
> +
> +    QTAILQ_FOREACH(i, &fw_boot_order, link) {
> +        if (suffix) {
> +            if (i->dev == dev && !strcmp(i->suffix, suffix)) {
> +                QTAILQ_REMOVE(&fw_boot_order, i, link);
> +                g_free(i->suffix);
> +                g_free(i);
> +
> +                break;
> +            }
> +        } else { /* host-usb and scsi devices do not have a suffix */
> +            if (i->dev == dev) {
> +                QTAILQ_REMOVE(&fw_boot_order, i, link);
> +                g_free(i);
> +
> +                break;
> +            }
> +        }

g_free() and g_strcmp0() accept NULL as arguments, so you can replace
those 16 lines with:

    if (i->dev == dev && !g_strcmp0(i->suffix, suffix))) {
        QTAILQ_REMOVE(&fw_boot_order, i, link);
        g_free(i->suffix);
        g_free(i);
        break;
    }

-- 
Eduardo

Reply via email to