From dd8c5293705b2baeb5ca8c0a4fa9a594cd8e4cd9 Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Sun, 20 Aug 2017 17:58:41 +0100 Subject: Implement documented -l flag --- src/imv.c | 5 +++++ src/navigator.c | 12 ++++++++++++ src/navigator.h | 7 +++++++ 3 files changed, 24 insertions(+) diff --git a/src/imv.c b/src/imv.c index 34066cf..252e951 100644 --- a/src/imv.c +++ b/src/imv.c @@ -503,6 +503,11 @@ bool imv_run(struct imv *imv) } } + if(imv->list_at_exit) { + for(int i = 0; i < imv_navigator_length(imv->navigator); ++i) + puts(imv_navigator_at(imv->navigator, i)); + } + return false; } diff --git a/src/navigator.c b/src/navigator.c index ae7bccd..094964f 100644 --- a/src/navigator.c +++ b/src/navigator.c @@ -259,5 +259,17 @@ int imv_navigator_wrapped(struct imv_navigator *nav) return nav->wrapped; } +int imv_navigator_length(struct imv_navigator *nav) +{ + return nav->num_paths; +} + +char *imv_navigator_at(struct imv_navigator *nav, int index) +{ + if(index >= 0 && index < nav->num_paths) { + return nav->paths[index]; + } + return NULL; +} /* vim:set ts=2 sts=2 sw=2 et: */ diff --git a/src/navigator.h b/src/navigator.h index 0d56fa7..71c0948 100644 --- a/src/navigator.h +++ b/src/navigator.h @@ -72,6 +72,13 @@ int imv_navigator_poll_changed(struct imv_navigator *nav); /* Check whether navigator wrapped around paths list */ int imv_navigator_wrapped(struct imv_navigator *nav); +/* Return how many paths in navigator */ +int imv_navigator_length(struct imv_navigator *nav); + +/* Return a path for a given index */ +char *imv_navigator_at(struct imv_navigator *nav, int index); + + #endif -- cgit v1.2.3