On Tue, Jan 15, 2013 at 05:30:23PM -0700, Eric Blake wrote:
On 01/11/2013 05:13 AM, Daniel P. Berrange wrote:
> +
> + unsigned int start;
> + unsigned int end;
> +};
> +
> +virPortAllocatorPtr virPortAllocatorNew(unsigned short start,
> + unsigned short end)
> +
> +{
Spurious blank line. Any reason you allocate with short, but store the
values in int internally? (unsigned short in the struct should be fine)
Yes, using a short in the struct would be better & was my
intention.
> + virPortAllocatorPtr pa;
> +
> + if (start >= end) {
> + virReportInvalidArg(start, "start port %d must be less than end port
%d",
> + start, end);
> + return NULL;
> + }
Since this error gave a message,
> +
> + if (virPortAllocatorInitialize() < 0)
> + return NULL;
> +
> + if (!(pa = virObjectLockableNew(virPortAllocatorClass)))
> + return NULL;
does this error need to call virReportOOMError()?
This function raises an error already.
> +
> + pa->start = start;
> + pa->end = end;
> +
> + if (!(pa->bitmap = virBitmapNew(end-start))) {
> + virObjectUnref(pa);
> + return NULL;
Same question here. Callers can't tell if a NULL return means OOM or
usage error.
I thought this did too, but it appears to leave it upto the
caller, so I'll add it here.
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|