[libvirt] [PATCH v4 12/13] Adapt to VIR_STRDUP and VIR_STRNDUP in src/xenxs/*
Ján Tomko
jtomko at redhat.com
Thu May 23 11:28:34 UTC 2013
On 05/20/2013 07:55 PM, Michal Privoznik wrote:
> ---
> src/xenxs/xen_sxpr.c | 200 ++++++++++++++++++++++-----------------------------
> src/xenxs/xen_xm.c | 91 +++++++++++------------
> 2 files changed, 125 insertions(+), 166 deletions(-)
>
> diff --git a/src/xenxs/xen_sxpr.c b/src/xenxs/xen_sxpr.c
> index 9a76d04..aa99a61 100644
> --- a/src/xenxs/xen_sxpr.c
> +++ b/src/xenxs/xen_sxpr.c
> @@ -238,18 +236,14 @@ xenParseSxprChar(const char *value,
> }
>
> if (offset != value &&
> - (def->source.data.tcp.host = strndup(value,
> - offset - value)) == NULL)
> - goto no_memory;
> + VIR_STRNDUP(def->source.data.tcp.host, value, offset - value) < 0)
> + goto error;
>
> offset2 = strchr(offset, ',');
> - if (offset2 == NULL)
> - def->source.data.tcp.service = strdup(offset+1);
> - else
> - def->source.data.tcp.service = strndup(offset+1,
> - offset2-(offset+1));
> - if (def->source.data.tcp.service == NULL)
> - goto no_memory;
> + if ((offset && VIR_STRNDUP(def->source.data.tcp.service,
> + offset + 1, offset2 - offset - 1) < 0) ||
> + (!offset && VIR_STRDUP(def->source.data.tcp.service, offset + 1) < 0))
> + goto error;
Change offset to offset2 at the beginning of the condition.
Or you could do it with just one VIR_STRNDUP call:
offset++;
if (VIR_STRNDUP(def->source.data.tcp.service, offset,
offset2 ? offset2 - offset : strlen(offset)) < 0)
goto error;
>
> if (offset2 && strstr(offset2, ",server"))
> def->source.data.tcp.listen = true;
ACK
Jan
More information about the libvir-list
mailing list