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

[Xen-devel] new idl helper, append to Array



Ian,

in my pvscsi code I have two copies of a helper function which appends
yet another instance of something to an Array, as shown below. This is
similar to the _copy variant. Is it worth to let gentypes generate such
a helper, like libxl_device_vscsictrl_append_vscsidev()?

While writing this I realize that libxl__realloc will not return, so my
helper can be converted from returning int to void, and all the locals
can be removed.



static int vscsi_append_dev(libxl__gc *gc, libxl_device_vscsictrl *ctrl,
                            libxl_device_vscsidev *dev)
{
    int rc;
    libxl_device_vscsidev *devs;

    devs = libxl__realloc(NOGC, ctrl->vscsidevs, sizeof(*dev) * 
(ctrl->num_vscsidevs + 1));
    if (!devs) {
        rc = ERROR_NOMEM;
        goto out;
    }

    ctrl->vscsidevs = devs;
    libxl_device_vscsidev_init(ctrl->vscsidevs + ctrl->num_vscsidevs);
    libxl_device_vscsidev_copy(CTX, ctrl->vscsidevs + ctrl->num_vscsidevs, dev);
    ctrl->num_vscsidevs++;
    rc = 0;
out:
    return rc;
}


Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.