[libvirt] [PATCH 07/11] Remove bogus port handling code in virsh
Eric Blake
eblake at redhat.com
Fri Nov 19 18:23:00 UTC 2010
On 11/12/2010 09:22 AM, Daniel P. Berrange wrote:
> The "find-storage-pool-sources-as" command takes two arguments,
> a hostname and a port number. For some reason the code would
> also then look for a port number appended to the hostname
> string by searching for ':'. This totally breaks if the user
> gives an IPv6 address, and is redundant, since you can already
> provide a port as a separate argument
>
> * tools/virsh.c: Remove bogus port number handling code
> ---
> tools/virsh.c | 11 ++---------
> 1 files changed, 2 insertions(+), 9 deletions(-)
>
> diff --git a/tools/virsh.c b/tools/virsh.c
> index 69a42e8..a840758 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -5772,15 +5772,8 @@ cmdPoolDiscoverSourcesAs(vshControl * ctl, const vshCmd * cmd ATTRIBUTE_UNUSED)
> if (host) {
> size_t hostlen = strlen(host);
> char *port = vshCommandOptString(cmd, "port", &found);
> - if (!found) {
> - port = strrchr(host, ':');
> - if (port) {
> - if (*(++port))
> - hostlen = port - host - 1;
> - else
> - port = NULL;
> - }
> - }
> + if (!found)
> + port = NULL;
Slight change which may break existing scripts that used an undocumented
method, but makes sense given that the documentation calls out both
arguments, and in light of IPv6 hostnames.
> virBuffer buf = VIR_BUFFER_INITIALIZER;
> virBufferAddLit(&buf, "<source>\n");
> virBufferVSprintf(&buf, " <host name='%.*s'",(int)hostlen, host);
However, given that we are no longer computing hostlen as anything other
than strlen(host), I would recommend that you respin this patch to
completely get rid of hostlen, and use %s instead of %.*s.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20101119/19c2ddd0/attachment-0001.sig>
More information about the libvir-list
mailing list