#include #include #include #include /* stdio must be included before readline */ #include #include "input.h" int prompt_yes_no(void) { char *line = NULL; int attempts = 0; int ret = 0; do { line = readline(" [Y/n] "); char input = line[0]; if (input == '\n'/*no input*/ || input == 'y' || input == 'Y') { ret = 1; break; } else if (input == 'n' || input == 'N') { break; } attempts++; } while(attempts < 3); if (line != NULL) { free(line); } return ret; } void remove_ending_newline(char *str) { int idx = strlen(str) - 1; 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; }