[libvirt] [PATCH v2] Use virGetLastErrorMessage() rather than open code it

Hui Yiqun huiyiqun at gmail.com
Mon Apr 4 10:49:57 UTC 2016


getting err using virGetLastError() and then retrieving
message from err asks developers to test the value
of err and err->message and default to self-defined
unkown error message.

It's better to avoid it and use uniform
virGetLastErrorMessage
---
 daemon/libvirtd.c                   |  8 +---
 examples/object-events/event-test.c |  9 ++---
 src/bhyve/bhyve_driver.c            |  3 +-
 src/libvirt.c                       |  3 +-
 src/libxl/libxl_domain.c            |  3 +-
 src/libxl/libxl_driver.c            |  3 +-
 src/locking/lock_daemon.c           |  8 +---
 src/logging/log_daemon.c            |  8 +---
 src/lxc/lxc_container.c             |  8 +---
 src/lxc/lxc_controller.c            |  8 +---
 src/lxc/lxc_domain.c                |  3 +-
 src/lxc/lxc_process.c               |  6 +--
 src/network/bridge_driver.c         |  3 +-
 src/node_device/node_device_hal.c   |  3 +-
 src/rpc/virnettlscontext.c          |  3 +-
 src/secret/secret_driver.c          |  6 +--
 src/storage/storage_driver.c        | 16 ++------
 src/uml/uml_driver.c                |  3 +-
 src/util/iohelper.c                 | 10 +----
 src/util/virhook.c                  |  3 +-
 src/util/virhostdev.c               | 20 ++++-----
 tests/commandtest.c                 | 81 +++++++++++++------------------------
 tests/libvirtdconftest.c            |  3 +-
 tests/openvzutilstest.c             |  7 +---
 tests/securityselinuxlabeltest.c    |  9 ++---
 tests/securityselinuxtest.c         |  6 +--
 tests/virnettlscontexttest.c        |  3 +-
 27 files changed, 77 insertions(+), 169 deletions(-)

diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
index 3d38a46..e526e55 100644
--- a/daemon/libvirtd.c
+++ b/daemon/libvirtd.c
@@ -1273,12 +1273,8 @@ int main(int argc, char **argv) {
     /* Read the config file if it exists*/
     if (remote_config_file &&
         daemonConfigLoadFile(config, remote_config_file, implicit_conf) < 0) {
-        virErrorPtr err = virGetLastError();
-        if (err && err->message)
-            VIR_ERROR(_("Can't load config file: %s: %s"),
-                      err->message, remote_config_file);
-        else
-            VIR_ERROR(_("Can't load config file: %s"), remote_config_file);
+        VIR_ERROR(_("Can't load config file: %s: %s"),
+                  virGetLastErrorMessage(), remote_config_file);
         exit(EXIT_FAILURE);
     }
 
diff --git a/examples/object-events/event-test.c b/examples/object-events/event-test.c
index 7be1d21..4a4ef86 100644
--- a/examples/object-events/event-test.c
+++ b/examples/object-events/event-test.c
@@ -654,9 +654,8 @@ int main(int argc, char **argv)
     }
 
     if (virEventRegisterDefaultImpl() < 0) {
-        virErrorPtr err = virGetLastError();
         fprintf(stderr, "Failed to register event implementation: %s\n",
-                err && err->message ? err->message: "Unknown error");
+                virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -794,17 +793,15 @@ int main(int argc, char **argv)
         goto cleanup;
 
     if (virConnectSetKeepAlive(dconn, 5, 3) < 0) {
-        virErrorPtr err = virGetLastError();
         fprintf(stderr, "Failed to start keepalive protocol: %s\n",
-                err && err->message ? err->message : "Unknown error");
+                virGetLastErrorMessage());
         run = 0;
     }
 
     while (run) {
         if (virEventRunDefaultImpl() < 0) {
-            virErrorPtr err = virGetLastError();
             fprintf(stderr, "Failed to run event loop: %s\n",
-                    err && err->message ? err->message : "Unknown error");
+                    virGetLastErrorMessage());
         }
     }
 
diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c
index 9219890..6f2423c 100644
--- a/src/bhyve/bhyve_driver.c
+++ b/src/bhyve/bhyve_driver.c
@@ -88,9 +88,8 @@ bhyveAutostartDomain(virDomainObjPtr vm, void *opaque)
         ret = virBhyveProcessStart(data->conn, data->driver, vm,
                                    VIR_DOMAIN_RUNNING_BOOTED, 0);
         if (ret < 0) {
-            virErrorPtr err = virGetLastError();
             VIR_ERROR(_("Failed to autostart VM '%s': %s"),
-                      vm->def->name, err ? err->message : _("unknown error"));
+                      vm->def->name, virGetLastErrorMessage());
         }
     }
     virObjectUnlock(vm);
diff --git a/src/libvirt.c b/src/libvirt.c
index dd58e9c..99b1c47 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -777,10 +777,9 @@ virStateInitialize(bool privileged,
             if (virStateDriverTab[i]->stateInitialize(privileged,
                                                       callback,
                                                       opaque) < 0) {
-                virErrorPtr err = virGetLastError();
                 VIR_ERROR(_("Initialization of %s state driver failed: %s"),
                           virStateDriverTab[i]->name,
-                          err && err->message ? err->message : _("Unknown problem"));
+                          virGetLastErrorMessage());
                 return -1;
             }
         }
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index c8d09b1..a814ae5 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -514,9 +514,8 @@ libxlDomainShutdownThread(void *opaque)
     libxlDomainDestroyInternal(driver, vm);
     libxlDomainCleanup(driver, vm);
     if (libxlDomainStart(driver, vm, false, -1) < 0) {
-        virErrorPtr err = virGetLastError();
         VIR_ERROR(_("Failed to restart VM '%s': %s"),
-                  vm->def->name, err ? err->message : _("unknown error"));
+                  vm->def->name, virGetLastErrorMessage());
     }
 
  endjob:
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 87ec5a5..767ebbc 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -324,10 +324,9 @@ libxlAutostartDomain(virDomainObjPtr vm,
 
     if (vm->autostart && !virDomainObjIsActive(vm) &&
         libxlDomainStart(driver, vm, false, -1) < 0) {
-        err = virGetLastError();
         VIR_ERROR(_("Failed to autostart VM '%s': %s"),
                   vm->def->name,
-                  err ? err->message : _("unknown error"));
+                  virGetLastErrorMessage());
         goto endjob;
     }
 
diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c
index 973e691..b755a02 100644
--- a/src/locking/lock_daemon.c
+++ b/src/locking/lock_daemon.c
@@ -1266,12 +1266,8 @@ int main(int argc, char **argv) {
     /* Read the config file if it exists*/
     if (remote_config_file &&
         virLockDaemonConfigLoadFile(config, remote_config_file, implicit_conf) < 0) {
-        virErrorPtr err = virGetLastError();
-        if (err && err->message)
-            VIR_ERROR(_("Can't load config file: %s: %s"),
-                      err->message, remote_config_file);
-        else
-            VIR_ERROR(_("Can't load config file: %s"), remote_config_file);
+        VIR_ERROR(_("Can't load config file: %s: %s"),
+                  virGetLastErrorMessage(), remote_config_file);
         exit(EXIT_FAILURE);
     }
 
diff --git a/src/logging/log_daemon.c b/src/logging/log_daemon.c
index 68f0647..83f0475 100644
--- a/src/logging/log_daemon.c
+++ b/src/logging/log_daemon.c
@@ -1023,12 +1023,8 @@ int main(int argc, char **argv) {
     /* Read the config file if it exists*/
     if (remote_config_file &&
         virLogDaemonConfigLoadFile(config, remote_config_file, implicit_conf) < 0) {
-        virErrorPtr err = virGetLastError();
-        if (err && err->message)
-            VIR_ERROR(_("Can't load config file: %s: %s"),
-                      err->message, remote_config_file);
-        else
-            VIR_ERROR(_("Can't load config file: %s"), remote_config_file);
+        VIR_ERROR(_("Can't load config file: %s: %s"),
+                  virGetLastErrorMessage(), remote_config_file);
         exit(EXIT_FAILURE);
     }
 
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 348bbfb..eb17459 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -2290,12 +2290,8 @@ static int lxcContainerChild(void *data)
 
     if (ret != 0) {
         VIR_DEBUG("Tearing down container");
-        virErrorPtr err = virGetLastError();
-        if (err && err->message)
-            fprintf(stderr, "%s\n", err->message);
-        else
-            fprintf(stderr, "%s\n",
-                    _("Unknown failure in libvirt_lxc startup"));
+        fprintf(stderr, _("Failure in libvirt_lxc startup%s\n"),
+                virGetLastErrorMessage());
     }
 
     virCommandFree(cmd);
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 8b5ec4c..72b984b 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -2731,12 +2731,8 @@ int main(int argc, char *argv[])
 
  cleanup:
     if (rc < 0) {
-        virErrorPtr err = virGetLastError();
-        if (err && err->message)
-            fprintf(stderr, "%s\n", err->message);
-        else
-            fprintf(stderr, "%s\n",
-                    _("Unknown failure in libvirt_lxc startup"));
+        fprintf(stderr, _("Failure in libvirt_lxc startup: %s\n"),
+                virGetLastErrorMessage());
     }
 
     virPidFileDelete(LXC_STATE_DIR, name);
diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c
index 3177a62..5267797 100644
--- a/src/lxc/lxc_domain.c
+++ b/src/lxc/lxc_domain.c
@@ -221,8 +221,7 @@ virLXCDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
     unsigned long long thepid;
 
     if (virXPathULongLong("string(./init[1]/@pid)", ctxt, &thepid) < 0) {
-        virErrorPtr err = virGetLastError();
-        VIR_WARN("Failed to load init pid from state %s", err ? err->message : "null");
+        VIR_WARN("Failed to load init pid from state %s", virGetLastErrorMessage());
         priv->initpid = 0;
     } else {
         priv->initpid = thepid;
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 5e0bbe2..6f6df84 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -757,10 +757,9 @@ static void virLXCProcessMonitorInitNotify(virLXCMonitorPtr mon ATTRIBUTE_UNUSED
     priv->initpid = initpid;
 
     if (virLXCProcessGetNsInode(initpid, "pid", &inode) < 0) {
-        virErrorPtr err = virGetLastError();
         VIR_WARN("Cannot obtain pid NS inode for %llu: %s",
                  (unsigned long long)initpid,
-                 err && err->message ? err->message : "<unknown>");
+                 virGetLastErrorMessage());
         virResetLastError();
     }
     virDomainAuditInit(vm, initpid, inode);
@@ -1619,10 +1618,9 @@ virLXCProcessAutostartDomain(virDomainObjPtr vm,
                                  VIR_DOMAIN_RUNNING_BOOTED);
         virDomainAuditStart(vm, "booted", ret >= 0);
         if (ret < 0) {
-            virErrorPtr err = virGetLastError();
             VIR_ERROR(_("Failed to autostart VM '%s': %s"),
                       vm->def->name,
-                      err ? err->message : "");
+                      virGetLastErrorMessage());
         } else {
             virObjectEventPtr event =
                 virDomainEventLifecycleNewFromObj(vm,
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index a09a7e4..f82ad24 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -694,9 +694,8 @@ networkStateInitialize(bool privileged,
 
 #ifdef HAVE_FIREWALLD
     if (!(sysbus = virDBusGetSystemBus())) {
-        virErrorPtr err = virGetLastError();
         VIR_WARN("DBus not available, disabling firewalld support "
-                 "in bridge_network_driver: %s", err->message);
+                 "in bridge_network_driver: %s", virGetLastErrorMessage());
     } else {
         /* add matches for
          * NameOwnerChanged on org.freedesktop.DBus for firewalld start/stop
diff --git a/src/node_device/node_device_hal.c b/src/node_device/node_device_hal.c
index 6d18a87..6ddfad0 100644
--- a/src/node_device/node_device_hal.c
+++ b/src/node_device/node_device_hal.c
@@ -641,9 +641,8 @@ nodeStateInitialize(bool privileged ATTRIBUTE_UNUSED,
 
     dbus_error_init(&err);
     if (!(sysbus = virDBusGetSystemBus())) {
-        virErrorPtr verr = virGetLastError();
         VIR_ERROR(_("DBus not available, disabling HAL driver: %s"),
-                    verr->message);
+                    virGetLastErrorMessage());
         ret = 0;
         goto failure;
     }
diff --git a/src/rpc/virnettlscontext.c b/src/rpc/virnettlscontext.c
index 947038d..6e78623 100644
--- a/src/rpc/virnettlscontext.c
+++ b/src/rpc/virnettlscontext.c
@@ -1141,8 +1141,7 @@ int virNetTLSContextCheckCertificate(virNetTLSContextPtr ctxt,
     virObjectLock(ctxt);
     virObjectLock(sess);
     if (virNetTLSContextValidCertificate(ctxt, sess) < 0) {
-        virErrorPtr err = virGetLastError();
-        VIR_WARN("Certificate check failed %s", err && err->message ? err->message : "<unknown>");
+        VIR_WARN("Certificate check failed %s", virGetLastErrorMessage());
         if (ctxt->requireValidCert) {
             virReportError(VIR_ERR_AUTH_FAILED, "%s",
                            _("Failed to verify peer's certificate"));
diff --git a/src/secret/secret_driver.c b/src/secret/secret_driver.c
index 4d15797..b9c82c6 100644
--- a/src/secret/secret_driver.c
+++ b/src/secret/secret_driver.c
@@ -484,11 +484,9 @@ secretLoadAllConfigs(virSecretObjPtr *dest,
         VIR_FREE(base64name);
 
         if (!(secret = secretLoad(&list, de->d_name, path, base64path))) {
-            virErrorPtr err = virGetLastError();
-
             VIR_ERROR(_("Error reading secret: %s"),
-                      err != NULL ? err->message: _("unknown error"));
-            virResetError(err);
+                      virGetLastErrorMessage());
+            virResetLastError();
             VIR_FREE(path);
             VIR_FREE(base64path);
             continue;
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 1d96618..ccf1fc1 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -97,10 +97,8 @@ storagePoolUpdateState(virStoragePoolObjPtr pool)
     active = false;
     if (backend->checkPool &&
         backend->checkPool(pool, &active) < 0) {
-        virErrorPtr err = virGetLastError();
         VIR_ERROR(_("Failed to initialize storage pool '%s': %s"),
-                  pool->def->name, err ? err->message :
-                  _("no error message found"));
+                  pool->def->name, virGetLastErrorMessage());
         goto error;
     }
 
@@ -111,12 +109,10 @@ storagePoolUpdateState(virStoragePoolObjPtr pool)
     if (active) {
         virStoragePoolObjClearVols(pool);
         if (backend->refreshPool(NULL, pool) < 0) {
-            virErrorPtr err = virGetLastError();
             if (backend->stopPool)
                 backend->stopPool(NULL, pool);
             VIR_ERROR(_("Failed to restart storage pool '%s': %s"),
-                      pool->def->name, err ? err->message :
-                      _("no error message found"));
+                      pool->def->name, virGetLastErrorMessage());
             goto error;
         }
     }
@@ -175,10 +171,8 @@ storageDriverAutostart(void)
             !virStoragePoolObjIsActive(pool)) {
             if (backend->startPool &&
                 backend->startPool(conn, pool) < 0) {
-                virErrorPtr err = virGetLastError();
                 VIR_ERROR(_("Failed to autostart storage pool '%s': %s"),
-                          pool->def->name, err ? err->message :
-                          _("no error message found"));
+                          pool->def->name, virGetLastErrorMessage());
                 virStoragePoolObjUnlock(pool);
                 continue;
             }
@@ -194,14 +188,12 @@ storageDriverAutostart(void)
             if (!stateFile ||
                 virStoragePoolSaveState(stateFile, pool->def) < 0 ||
                 backend->refreshPool(conn, pool) < 0) {
-                virErrorPtr err = virGetLastError();
                 if (stateFile)
                     unlink(stateFile);
                 if (backend->stopPool)
                     backend->stopPool(conn, pool);
                 VIR_ERROR(_("Failed to autostart storage pool '%s': %s"),
-                          pool->def->name, err ? err->message :
-                          _("no error message found"));
+                          pool->def->name, virGetLastErrorMessage());
             } else {
                 pool->active = true;
             }
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
index 84e1df8..923c3f6 100644
--- a/src/uml/uml_driver.c
+++ b/src/uml/uml_driver.c
@@ -188,9 +188,8 @@ umlAutostartDomain(virDomainObjPtr vm,
         ret = umlStartVMDaemon(data->conn, data->driver, vm, false);
         virDomainAuditStart(vm, "booted", ret >= 0);
         if (ret < 0) {
-            virErrorPtr err = virGetLastError();
             VIR_ERROR(_("Failed to autostart VM '%s': %s"),
-                      vm->def->name, err ? err->message : _("unknown error"));
+                      vm->def->name, virGetLastErrorMessage());
         } else {
             virObjectEventPtr event =
                 virDomainEventLifecycleNewFromObj(vm,
diff --git a/src/util/iohelper.c b/src/util/iohelper.c
index 8a3c377..21a4452 100644
--- a/src/util/iohelper.c
+++ b/src/util/iohelper.c
@@ -219,7 +219,6 @@ int
 main(int argc, char **argv)
 {
     const char *path;
-    virErrorPtr err;
     unsigned long long offset;
     unsigned long long length;
     int oflags = -1;
@@ -310,12 +309,7 @@ main(int argc, char **argv)
     return 0;
 
  error:
-    err = virGetLastError();
-    if (err) {
-        fprintf(stderr, "%s: %s\n", program_name, err->message);
-    } else {
-        fprintf(stderr, _("%s: unknown failure with %s\n"),
-                program_name, path);
-    }
+    fprintf(stderr, _("%s: failure with %s: %s"),
+            program_name, path, virGetLastErrorMessage());
     exit(EXIT_FAILURE);
 }
diff --git a/src/util/virhook.c b/src/util/virhook.c
index ba50598..d37d6da 100644
--- a/src/util/virhook.c
+++ b/src/util/virhook.c
@@ -297,9 +297,8 @@ virHookCall(int driver,
     ret = virCommandRun(cmd, NULL);
     if (ret < 0) {
         /* Convert INTERNAL_ERROR into known error.  */
-        virErrorPtr err = virGetLastError();
         virReportError(VIR_ERR_HOOK_SCRIPT_FAILED, "%s",
-                       err ? err->message : _("unknown error"));
+                       virGetLastErrorMessage());
     }
 
     virCommandFree(cmd);
diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c
index b397b79..42c146a 100644
--- a/src/util/virhostdev.c
+++ b/src/util/virhostdev.c
@@ -801,10 +801,9 @@ virHostdevReattachPCIDevice(virHostdevManagerPtr mgr,
     VIR_DEBUG("Reattaching PCI device %s", virPCIDeviceGetName(actual));
     if (virPCIDeviceReattach(actual, mgr->activePCIHostdevs,
                              mgr->inactivePCIHostdevs) < 0) {
-        virErrorPtr err = virGetLastError();
         VIR_ERROR(_("Failed to re-attach PCI device: %s"),
-                  err ? err->message : _("unknown error"));
-        virResetError(err);
+                  virGetLastErrorMessage());
+        virResetLastError();
     }
 }
 
@@ -829,10 +828,9 @@ virHostdevReAttachPCIDevices(virHostdevManagerPtr mgr,
     virObjectLock(mgr->inactivePCIHostdevs);
 
     if (!(pcidevs = virHostdevGetPCIHostDeviceList(hostdevs, nhostdevs))) {
-        virErrorPtr err = virGetLastError();
         VIR_ERROR(_("Failed to allocate PCI device list: %s"),
-                  err ? err->message : _("unknown error"));
-        virResetError(err);
+                  virGetLastErrorMessage());
+        virResetLastError();
         goto cleanup;
     }
 
@@ -883,10 +881,9 @@ virHostdevReAttachPCIDevices(virHostdevManagerPtr mgr,
         if (!actual ||
             virPCIDeviceListAdd(mgr->inactivePCIHostdevs, actual) < 0) {
 
-            virErrorPtr err = virGetLastError();
             VIR_ERROR(_("Failed to add PCI device %s to the inactive list"),
-                      err ? err->message : _("unknown error"));
-            virResetError(err);
+                      virGetLastErrorMessage());
+            virResetLastError();
         }
     }
 
@@ -928,10 +925,9 @@ virHostdevReAttachPCIDevices(virHostdevManagerPtr mgr,
         VIR_DEBUG("Resetting PCI device %s", virPCIDeviceGetName(pci));
         if (virPCIDeviceReset(pci, mgr->activePCIHostdevs,
                               mgr->inactivePCIHostdevs) < 0) {
-            virErrorPtr err = virGetLastError();
             VIR_ERROR(_("Failed to reset PCI device: %s"),
-                      err ? err->message : _("unknown error"));
-            virResetError(err);
+                      virGetLastErrorMessage());
+            virResetLastError();
         }
     }
 
diff --git a/tests/commandtest.c b/tests/commandtest.c
index cf5f44a..6430e20 100644
--- a/tests/commandtest.c
+++ b/tests/commandtest.c
@@ -178,8 +178,7 @@ static int test2(const void *unused ATTRIBUTE_UNUSED)
     int ret;
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -190,8 +189,7 @@ static int test2(const void *unused ATTRIBUTE_UNUSED)
     }
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -218,8 +216,7 @@ static int test3(const void *unused ATTRIBUTE_UNUSED)
                      VIR_COMMAND_PASS_FD_CLOSE_PARENT);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -260,8 +257,7 @@ static int test4(const void *unused ATTRIBUTE_UNUSED)
     virCommandDaemonize(cmd);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -294,8 +290,7 @@ static int test5(const void *unused ATTRIBUTE_UNUSED)
     virCommandAddEnvPassCommon(cmd);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -318,8 +313,7 @@ static int test6(const void *unused ATTRIBUTE_UNUSED)
     virCommandAddEnvPassBlockSUID(cmd, "DOESNOTEXIST", NULL);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -343,8 +337,7 @@ static int test7(const void *unused ATTRIBUTE_UNUSED)
     virCommandAddEnvPassBlockSUID(cmd, "DOESNOTEXIST", NULL);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -368,8 +361,7 @@ static int test8(const void *unused ATTRIBUTE_UNUSED)
     virCommandAddEnvPair(cmd, "USER", "test");
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -406,8 +398,7 @@ static int test9(const void *unused ATTRIBUTE_UNUSED)
     }
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -432,8 +423,7 @@ static int test10(const void *unused ATTRIBUTE_UNUSED)
     virCommandAddArgSet(cmd, args);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -456,8 +446,7 @@ static int test11(const void *unused ATTRIBUTE_UNUSED)
     virCommandPtr cmd = virCommandNewArgs(args);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -478,8 +467,7 @@ static int test12(const void *unused ATTRIBUTE_UNUSED)
     virCommandSetInputBuffer(cmd, "Hello World\n");
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         virCommandFree(cmd);
         return -1;
     }
@@ -506,8 +494,7 @@ static int test13(const void *unused ATTRIBUTE_UNUSED)
     virCommandSetOutputBuffer(cmd, &outactual);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     if (!outactual)
@@ -559,8 +546,7 @@ static int test14(const void *unused ATTRIBUTE_UNUSED)
     virCommandSetErrorBuffer(cmd, &erractual);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     if (!outactual || !erractual)
@@ -573,8 +559,7 @@ static int test14(const void *unused ATTRIBUTE_UNUSED)
     virCommandSetOutputBuffer(cmd, &jointactual);
     virCommandSetErrorBuffer(cmd, &jointactual);
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     if (!jointactual)
@@ -620,8 +605,7 @@ static int test15(const void *unused ATTRIBUTE_UNUSED)
     virCommandSetUmask(cmd, 002);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -651,8 +635,7 @@ static int test16(const void *unused ATTRIBUTE_UNUSED)
     virCommandAddArg(cmd, "G  H");
 
     if ((outactual = virCommandToString(cmd)) == NULL) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot convert to string: %s\n", err->message);
+        printf("Cannot convert to string: %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     if ((fd = open(abs_builddir "/commandhelper.log",
@@ -697,8 +680,7 @@ static int test17(const void *unused ATTRIBUTE_UNUSED)
     }
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -720,8 +702,7 @@ static int test17(const void *unused ATTRIBUTE_UNUSED)
     }
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -756,8 +737,7 @@ static int test18(const void *unused ATTRIBUTE_UNUSED)
 
     alarm(5);
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     alarm(0);
@@ -798,8 +778,7 @@ static int test19(const void *unused ATTRIBUTE_UNUSED)
 
     alarm(5);
     if (virCommandRunAsync(cmd, &pid) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -848,8 +827,7 @@ static int test20(const void *unused ATTRIBUTE_UNUSED)
     virCommandSetInputBuffer(cmd, buf);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -891,8 +869,7 @@ static int test21(const void *unused ATTRIBUTE_UNUSED)
     virCommandDoAsyncIO(cmd);
 
     if (virCommandRunAsync(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -930,8 +907,7 @@ test22(const void *unused ATTRIBUTE_UNUSED)
     cmd = virCommandNewArgList("/bin/sh", "-c", "exit 3", NULL);
 
     if (virCommandRun(cmd, &status) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     if (status != 3) {
@@ -941,8 +917,7 @@ test22(const void *unused ATTRIBUTE_UNUSED)
 
     virCommandRawStatus(cmd);
     if (virCommandRun(cmd, &status) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     if (!WIFEXITED(status) || WEXITSTATUS(status) != 3) {
@@ -960,8 +935,7 @@ test22(const void *unused ATTRIBUTE_UNUSED)
 
     virCommandRawStatus(cmd);
     if (virCommandRun(cmd, &status) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
     if (!WIFSIGNALED(status) || WTERMSIG(status) != SIGKILL) {
@@ -1057,8 +1031,7 @@ static int test24(const void *unused ATTRIBUTE_UNUSED)
     virCommandPassListenFDs(cmd);
 
     if (virCommandRun(cmd, NULL) < 0) {
-        virErrorPtr err = virGetLastError();
-        printf("Cannot run child %s\n", err->message);
+        printf("Cannot run child %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
diff --git a/tests/libvirtdconftest.c b/tests/libvirtdconftest.c
index 61d861d..06830bb 100644
--- a/tests/libvirtdconftest.c
+++ b/tests/libvirtdconftest.c
@@ -212,8 +212,7 @@ mymain(void)
     }
 
     if (virFileReadAll(filename, 1024*1024, &filedata) < 0) {
-        virErrorPtr err = virGetLastError();
-        fprintf(stderr, "Cannot load %s for testing: %s", filename, err->message);
+        fprintf(stderr, "Cannot load %s for testing: %s", filename, virGetLastErrorMessage());
         ret = -1;
         goto cleanup;
     }
diff --git a/tests/openvzutilstest.c b/tests/openvzutilstest.c
index ccde636..d747165 100644
--- a/tests/openvzutilstest.c
+++ b/tests/openvzutilstest.c
@@ -75,7 +75,6 @@ testReadNetworkConf(const void *data ATTRIBUTE_UNUSED)
     int result = -1;
     virDomainDefPtr def = NULL;
     char *actual = NULL;
-    virErrorPtr err = NULL;
     const char *expected =
         "<domain type='openvz'>\n"
         "  <uuid>00000000-0000-0000-0000-000000000000</uuid>\n"
@@ -110,16 +109,14 @@ testReadNetworkConf(const void *data ATTRIBUTE_UNUSED)
     def->os.type = VIR_DOMAIN_OSTYPE_EXE;
 
     if (openvzReadNetworkConf(def, 1) < 0) {
-        err = virGetLastError();
-        fprintf(stderr, "ERROR: %s\n", err != NULL ? err->message : "<unknown>");
+        fprintf(stderr, "ERROR: %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
     actual = virDomainDefFormat(def, NULL, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
     if (actual == NULL) {
-        err = virGetLastError();
-        fprintf(stderr, "ERROR: %s\n", err != NULL ? err->message : "<unknown>");
+        fprintf(stderr, "ERROR: %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
diff --git a/tests/securityselinuxlabeltest.c b/tests/securityselinuxlabeltest.c
index c82b3f2..7bb5de0 100644
--- a/tests/securityselinuxlabeltest.c
+++ b/tests/securityselinuxlabeltest.c
@@ -331,10 +331,8 @@ testSELinuxLabeling(const void *opaque)
         VIR_FREE(files[i].context);
     }
     VIR_FREE(files);
-    if (ret < 0) {
-        virErrorPtr err = virGetLastError();
-        VIR_TEST_VERBOSE("%s\n", err ? err->message : "<unknown>");
-    }
+    if (ret < 0)
+        VIR_TEST_VERBOSE("%s\n", virGetLastErrorMessage());
     return ret;
 }
 
@@ -354,9 +352,8 @@ mymain(void)
     if (!(mgr = virSecurityManagerNew("selinux", "QEMU",
                                       VIR_SECURITY_MANAGER_DEFAULT_CONFINED |
                                       VIR_SECURITY_MANAGER_PRIVILEGED))) {
-        virErrorPtr err = virGetLastError();
         VIR_TEST_VERBOSE("Unable to initialize security driver: %s\n",
-                err->message);
+                virGetLastErrorMessage());
         return EXIT_FAILURE;
     }
 
diff --git a/tests/securityselinuxtest.c b/tests/securityselinuxtest.c
index 49694f3..3423e66 100644
--- a/tests/securityselinuxtest.c
+++ b/tests/securityselinuxtest.c
@@ -230,8 +230,7 @@ testSELinuxGenLabel(const void *opaque)
         goto cleanup;
 
     if (virSecurityManagerGenLabel(data->mgr, def) < 0) {
-        virErrorPtr err = virGetLastError();
-        fprintf(stderr, "Cannot generate label: %s\n", err->message);
+        fprintf(stderr, "Cannot generate label: %s\n", virGetLastErrorMessage());
         goto cleanup;
     }
 
@@ -275,9 +274,8 @@ mymain(void)
     if (!(mgr = virSecurityManagerNew("selinux", "QEMU",
                                       VIR_SECURITY_MANAGER_DEFAULT_CONFINED |
                                       VIR_SECURITY_MANAGER_PRIVILEGED))) {
-        virErrorPtr err = virGetLastError();
         fprintf(stderr, "Unable to initialize security driver: %s\n",
-                err->message);
+                virGetLastErrorMessage());
         return EXIT_FAILURE;
     }
 
diff --git a/tests/virnettlscontexttest.c b/tests/virnettlscontexttest.c
index a3e24a3..d33b896 100644
--- a/tests/virnettlscontexttest.c
+++ b/tests/virnettlscontexttest.c
@@ -90,13 +90,12 @@ static int testTLSContextInit(const void *opaque)
             goto cleanup;
         }
     } else {
-        virErrorPtr err = virGetLastError();
         if (!data->expectFail) {
             VIR_WARN("Unexpected failure %s against %s",
                      data->cacrt, data->crt);
             goto cleanup;
         }
-        VIR_DEBUG("Got error %s", err ? err->message : "<unknown>");
+        VIR_DEBUG("Got error %s", virGetLastErrorMessage());
     }
 
     ret = 0;
-- 
2.8.0




More information about the libvir-list mailing list