Use a temporary variable to allow copying from the
currently set source.
Always return 0 since none of the callers distinguishes
between 0 and 1 propagated from VIR_STRDUP.
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
int
virDomainDiskSetSource(virDomainDiskDefPtr def, const char *src)
{
- int ret;
- char *tmp = def->src->path;
-
- ret = VIR_STRDUP(def->src->path, src);
- if (ret < 0)
- def->src->path = tmp;
- else
- VIR_FREE(tmp);
- return ret;
+ char *tmp = g_strdup(src);
+ g_free(def->src->path);
+ def->src->path = tmp;
+ return 0;
}
int
virDomainDiskSetDriver(virDomainDiskDefPtr def, const char *name)
{
- int ret;
- char *tmp = def->driverName;
-
- ret = VIR_STRDUP(def->driverName, name);
- if (ret < 0)
- def->driverName = tmp;
- else
- VIR_FREE(tmp);
- return ret;
+ char *tmp = g_strdup(name);
+ g_free(def->driverName);
+ def->driverName = tmp;
+ return 0;
}