diff options
author | John Hawthorn <john.hawthorn@gmail.com> | 2016-06-19 23:36:39 -0700 |
---|---|---|
committer | John Hawthorn <john.hawthorn@gmail.com> | 2016-06-20 23:31:05 -0700 |
commit | bf4937bc910db2944dc50edd67bbd545e76821e2 (patch) | |
tree | c865a9d8e218b42945ec4672d106eb45b67971e7 /src | |
parent | 2c802e23845a5320cfcfcec13d229c9b938698a8 (diff) |
Return exit code from run
Diffstat (limited to 'src')
-rw-r--r-- | src/fzy.c | 6 | ||||
-rw-r--r-- | src/tty_interface.c | 6 | ||||
-rw-r--r-- | src/tty_interface.h | 4 |
3 files changed, 11 insertions, 5 deletions
@@ -13,6 +13,8 @@ #include "../config.h" int main(int argc, char *argv[]) { + int ret = 0; + options_t options; options_parse(&options, argc, argv); @@ -47,10 +49,10 @@ int main(int argc, char *argv[]) { tty_interface_t tty_interface; tty_interface_init(&tty_interface, &tty, &choices, &options); - tty_interface_run(&tty_interface); + ret = tty_interface_run(&tty_interface); } choices_destroy(&choices); - return 0; + return ret; } diff --git a/src/tty_interface.c b/src/tty_interface.c index 03f71fb..e3329e3 100644 --- a/src/tty_interface.c +++ b/src/tty_interface.c @@ -113,7 +113,7 @@ void tty_interface_init(tty_interface_t *state, tty_t *tty, choices_t *choices, strncpy(state->search, options->init_search, SEARCH_SIZE_MAX); } -void tty_interface_run(tty_interface_t *state) { +int tty_interface_run(tty_interface_t *state) { tty_t *tty = state->tty; choices_t *choices = state->choices; char *search = state->search; @@ -164,7 +164,7 @@ void tty_interface_run(tty_interface_t *state) { emit(state); /* Return to eventually exit successfully */ - return; + return 0; } else if (ch == KEY_ESC) { /* ESC */ ch = tty_getchar(tty); if (ch == '[' || ch == 'O') { @@ -177,4 +177,6 @@ void tty_interface_run(tty_interface_t *state) { } } } while (1); + + return 0; } diff --git a/src/tty_interface.h b/src/tty_interface.h index 4122271..d6b05de 100644 --- a/src/tty_interface.h +++ b/src/tty_interface.h @@ -13,9 +13,11 @@ typedef struct { options_t *options; char search[SEARCH_SIZE_MAX + 1]; + + int exit; } tty_interface_t; void tty_interface_init(tty_interface_t *state, tty_t *tty, choices_t *choices, options_t *options); -void tty_interface_run(tty_interface_t *state); +int tty_interface_run(tty_interface_t *state); #endif |