
On 04/19/2018 07:09 PM, Daniel P. Berrangé wrote:
The driver module loading code is one of the few places that still uses VIR_ERROR for reporting failures. Convert it to normal error reporting APIs.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- src/driver.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-)
diff --git a/src/driver.c b/src/driver.c index e02efe2615..9b137c39e4 100644 --- a/src/driver.c +++ b/src/driver.c @@ -33,6 +33,7 @@
VIR_LOG_INIT("driver");
+#define VIR_FROM_THIS VIR_FROM_NONE
/* XXX re-implement this for other OS, or use libtools helper lib ? */ #define DEFAULT_DRIVER_DIR LIBDIR "/libvirt/connection-driver" @@ -55,8 +56,11 @@ virDriverLoadModuleFile(const char *file)
virUpdateSelfLastChanged(file);
- if (!(handle = dlopen(file, flags))) - VIR_ERROR(_("failed to load module %s %s"), file, dlerror()); + if (!(handle = dlopen(file, flags))) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Failed to load module '%s': %s"), file, dlerror());
Sweet. dlerror() returns 'char *' instead of 'const char *' even though it's returning a pointer to statically allocated buffer.
+ return NULL; + }
return handle; }
ACK Michal