diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/input.c | 10 | ||||
| -rw-r--r-- | src/input.h | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/input.c b/src/input.c index 94777bb..ec3a766 100644 --- a/src/input.c +++ b/src/input.c @@ -37,3 +37,13 @@ void remove_ending_newline(char *str) assert(str[idx] == '\n'); str[idx] = '\0'; } + +char *readline_with_check(const char *prompt) +{ + char *input = readline(prompt); + if (input == NULL) { + perror("readline"); + exit(EXIT_FAILURE); + } + return input; +} diff --git a/src/input.h b/src/input.h index 7085bac..13a53d5 100644 --- a/src/input.h +++ b/src/input.h @@ -9,4 +9,7 @@ int prompt_yes_no(void); void remove_ending_newline(char *str); +/* Readline wrapper that aborts if readline returns NULL. */ +char *readline_with_check(const char *prompt); + #endif |
