aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2017-08-20 17:58:41 +0100
committerHarry Jeffery <harry@exec64.co.uk>2017-08-20 17:59:04 +0100
commitdd8c5293705b2baeb5ca8c0a4fa9a594cd8e4cd9 (patch)
treeeacdb734ca9c5702b781712923dbf4d14773856f /src
parent167f1280ce974247dfce30dac840f4b3130bd12d (diff)
downloadimv-dd8c5293705b2baeb5ca8c0a4fa9a594cd8e4cd9.tar.gz
Implement documented -l flag
Diffstat (limited to 'src')
-rw-r--r--src/imv.c5
-rw-r--r--src/navigator.c12
-rw-r--r--src/navigator.h7
3 files changed, 24 insertions, 0 deletions
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