[PATCH setup 10/11] Use stored action in packagemeta::action_caption()
Jon Turney
jon.turney@dronecode.org.uk
Thu Aug 1 16:09:00 GMT 2019
Use the stored action in packagemeta::action_caption(), rather than
working backwards from desired/installed/picked.
---
package_meta.cc | 30 +++++++++++++++++-------------
1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/package_meta.cc b/package_meta.cc
index 8fad50d..b417fb0 100644
--- a/package_meta.cc
+++ b/package_meta.cc
@@ -426,19 +426,23 @@ packagemeta::LDesc () const
std::string
packagemeta::action_caption () const
{
- if (!desired && installed)
- return "Uninstall";
- else if (!desired)
- return "Skip";
- else if (desired == installed && picked())
- return packagedb::task == PackageDB_Install ? "Reinstall" : "Retrieve";
- else if (desired == installed && desired.sourcePackage() && srcpicked())
- /* FIXME: Redo source should come up if the tarball is already present locally */
- return "Source";
- else if (desired == installed) /* and neither src nor bin */
- return "Keep";
- else
- return desired.Canonical_version ();
+ switch (_action)
+ {
+ case Uninstall_action:
+ return "Uninstall";
+ case NoChange_action:
+ if (!desired)
+ return "Skip";
+ if (desired.sourcePackage() && srcpicked())
+ /* FIXME: Redo source should come up if the tarball is already present locally */
+ return "Source";
+ return "Keep";
+ case Reinstall_action:
+ return packagedb::task == PackageDB_Install ? "Reinstall" : "Retrieve";
+ case Install_action:
+ return desired.Canonical_version ();
+ }
+ return "Unknown";
}
void
--
2.21.0
More information about the Cygwin-apps
mailing list