From: Richard W.M. J. <rj...@re...> - 2007-06-27 11:24:42
|
I'm getting this error quite a lot and I'm not sure how to get rid of it. Here's an example where it occurs: libvirt.c:1046: Unimplemented: Nullterm cast with different base types: from: char * BND(...) NT to: void * BND(...) exp: & filepath[len + 1U] The code is as follows with line 1046 marked with asterisks: int virDomainSave(virDomainPtr domain, const char *to) { char filepath[4096]; virConnectPtr conn; if (!VIR_IS_CONNECTED_DOMAIN(domain)) { virLibDomainError(domain, VIR_ERR_INVALID_DOMAIN, __FUNCTION__); return (-1); } if (domain->conn->flags & VIR_CONNECT_RO) { virLibDomainError(domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__); return (-1); } conn = domain->conn; if (to == NULL) { virLibDomainError(domain, VIR_ERR_INVALID_ARG, __FUNCTION__); return (-1); } /* * We must absolutize the file path as the save is done out of process * TODO: check for URI when libxml2 is linked in. */ if (to[0] != '/') { unsigned int len, t; t = strlen(to); if (getcwd(filepath, sizeof(filepath) - (t + 3)) == NULL) return (-1); len = strlen(filepath); /* that should be covered by getcwd() semantic, but be 100% sure */ if (len > sizeof(filepath) - (t + 3)) return (-1); filepath[len] = '/'; strcpy(&filepath[len + 1], to); ********** to = &filepath[0]; } if (conn->driver->domainSave) return conn->driver->domainSave (domain, to); virLibConnError (conn, VIR_ERR_NO_SUPPORT, __FUNCTION__); return -1; } I've tried annotating both the 'to' parameter and the 'filepath' local variable in various ways, but nothing seems to get rid of the error. Does anyone have any ideas? Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903 |