http://libvirt.org/news.html
Releases
+0.3.2: Aug 21 2007:
+ - New features: KVM migration and save/restore (Jim Paris),
+ added API for migration (Richard Jones), added APIs for block device and
+ interface statistic (Richard Jones).
+ - Documentation: examples for XML network APIs,
+ fix typo and schedinfo synopsis in man page (Atsushi SAKAI),
+ hypervisor support page update (Richard Jones).
+ - Bug fixes: remove a couple of leaks in QEmu/KVM backend(Daniel berrange),
+ fix GnuTLS 1.0 compatibility (Richard Jones), --config/-f option
+ mistake for libvirtd (Richard Jones), remove leak in QEmu backend
+ (Jim Paris), fix some QEmu communication bugs (Jim Paris), UUID
+ lookup though proxy fix, setvcpus checking bugs (with Atsushi SAKAI),
+ int checking in virsh parameters (with Masayuki Sunou), deny devices
+ attach/detach for < Xen 3.0.4 (Masayuki Sunou), XenStore query
+ memory leak (Masayuki Sunou), virsh schedinfo cleanup (Saori Fukuta).
+ - Improvement: virsh new ttyconsole command, networking API implementation
+ for test driver (Daniel berrange), qemu/kvm feature reporting of
+ ACPI/APIC (David Lutterkort), checking of QEmu architectures (Daniel
+ berrange), improve devices XML errors reporting (Masayuki Sunou),
+ speedup of domain queries on Xen (Daniel berrange), augment XML dumps
+ with interface devices names (Richard Jones), internal API to query
+ drivers for features (Richard Jones).
+
+ - Cleanups: Improve virNodeGetInfo implentation (Daniel berrange),
+ general UUID code cleanup (Daniel berrange), fix API generator
+ file selection.
+
+
0.3.1: Jul 24 2007:
- Documentation: index to remote page, script to test certificates,
IPv6 remote support docs (Daniel Berrange), document
static char *
xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root, int xendConfigVersion)
{
- char *ret;
struct sexpr *cur, *node;
const char *tmp;
char *tty;
/* ERROR */
return (NULL);
}
- ret = malloc(4000);
- if (ret == NULL)
+ buf.content = malloc(4000);
+ if (buf.content == NULL)
return (NULL);
- buf.content = ret;
buf.size = 4000;
buf.use = 0;
virBufferAdd(&buf, "</domain>\n", 10);
buf.content[buf.use] = 0;
- return (ret);
+ return (buf.content);
error:
- if (ret != NULL)
- free(ret);
+ if (buf.content != NULL)
+ free(buf.content);
return (NULL);
}