
On 03/29/2013 03:52 PM, Michal Privoznik wrote:
This is just a bare Easter Egg. Whenever user run virDomainScreenshot over a domain in test driver, he'll get the Libvirt PNG logo in return.
Cute idea, and handy for easier testing of screenshot API.
+static char * +testDomainScreenshot(virDomainPtr dom ATTRIBUTE_UNUSED, + virStreamPtr st, + unsigned int screen ATTRIBUTE_UNUSED, + unsigned int flags) +{ + char *ret = NULL; + + virCheckFlags(0, NULL); + + if (virFDStreamOpenFile(st, PKGDATADIR "/libvirtLogo.png", 0, 0, O_RDONLY < 0)) + goto cleanup; + + ret = strdup("image/png");
Missing an OOM check, in which case you also end up leaking an incomplete stream. I'd swap the strdup to happen first so you don't have to clean up a stream.
@@ -5843,6 +5864,7 @@ static virDriver testDriver = { .domainEventDeregisterAny = testDomainEventDeregisterAny, /* 0.8.0 */ .isAlive = testIsAlive, /* 0.9.8 */ .nodeGetCPUMap = testNodeGetCPUMap, /* 1.0.0 */ + .domainScreenshot = testDomainScreenshot, /* 1.0.4 */
That's pushing it; this is probably post-release material. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org