]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: introduce 'ret' in cmdDomFSInfo
authorJán Tomko <jtomko@redhat.com>
Tue, 12 Feb 2019 06:53:20 +0000 (07:53 +0100)
committerJán Tomko <jtomko@redhat.com>
Tue, 12 Feb 2019 09:14:53 +0000 (10:14 +0100)
Failing to print the table is also a reason to return failure
and print the reported error.

Switch to the usual pattern where we fall through the cleanup
label right after setting ret to true instead of infering the
return value from the number of filesystems returned.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
tools/virsh-domain.c

index d5026286c95078656ea0c7b5f3c22cbc23868526..cb2da8eb5bd281f9742f66f0556484fe0fe1a442 100644 (file)
@@ -13941,6 +13941,7 @@ cmdDomFSInfo(vshControl *ctl, const vshCmd *cmd)
     virDomainFSInfoPtr *info = NULL;
     vshTablePtr table = NULL;
     size_t ninfos = 0;
+    bool ret = false;
 
     if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
         return false;
@@ -13953,6 +13954,7 @@ cmdDomFSInfo(vshControl *ctl, const vshCmd *cmd)
     ninfos = rc;
 
     if (ninfos == 0) {
+        ret = true;
         vshError(ctl, _("No filesystems are mounted in the domain"));
         goto cleanup;
     }
@@ -13986,6 +13988,8 @@ cmdDomFSInfo(vshControl *ctl, const vshCmd *cmd)
         vshTablePrintToStdout(table, ctl);
     }
 
+    ret = true;
+
  cleanup:
     if (info) {
         for (i = 0; i < ninfos; i++)
@@ -13994,7 +13998,7 @@ cmdDomFSInfo(vshControl *ctl, const vshCmd *cmd)
     }
     vshTableFree(table);
     virshDomainFree(dom);
-    return rc >= 0;
+    return ret;
 }
 
 const vshCmdDef domManagementCmds[] = {