aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorDmitrij D. Czarkoff <czarkoff@gmail.com>2016-05-01 14:40:54 +0200
committerDmitrij D. Czarkoff <czarkoff@gmail.com>2016-05-01 14:40:54 +0200
commit0e1d18a2d0f48243fc4e0d40515bb0f224f618f0 (patch)
treecb984b95afc544bb5a457c6d5799c6aacf7125af /src/main.c
parentaaab6d54a4cee653290d9cca59811e3f14217b7c (diff)
downloadimv-0e1d18a2d0f48243fc4e0d40515bb0f224f618f0.tar.gz
Make imv_navigator_add() return an integer value
In case of error return non-zero value instead of cleaning up navigator. This way main loop may do some more cleanup, or maybe even act differently.
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c
index 44cedcf..9f7da71 100644
--- a/src/main.c
+++ b/src/main.c
@@ -198,7 +198,10 @@ int main(int argc, char** argv)
buf[--len] = 0;
}
if(len > 0) {
- imv_navigator_add(&nav, buf, g_options.recursive);
+ if(imv_navigator_add(&nav, buf, g_options.recursive) != 0) {
+ imv_navigator_destroy(&nav);
+ exit(1);
+ }
break;
}
}
@@ -230,7 +233,10 @@ int main(int argc, char** argv)
errno = 0; /* clear errno */
}
/* add the given path to the list to load */
- imv_navigator_add(&nav, argv[i], g_options.recursive);
+ if(imv_navigator_add(&nav, argv[i], g_options.recursive) != 0) {
+ imv_navigator_destroy(&nav);
+ exit(1);
+ }
}
/* if we weren't given any paths we have nothing to view. exit */
@@ -639,7 +645,9 @@ int main(int argc, char** argv)
buf[--len] = 0;
}
if(len > 0) {
- imv_navigator_add(&nav, buf, g_options.recursive);
+ if(imv_navigator_add(&nav, buf, g_options.recursive)) {
+ break;
+ }
need_redraw = 1;
}
}