+void check(int condition, const char *message) {
+ if(!condition) {
+ echo();
+ curs_set(1);
+ endwin();
+ cout << message << endl;
+ }
+}
+
+int previous_visible(int current_line, int nb_lines, char **lines, char *regexp) {
+ int line = current_line - 1;
+ while(line >= 0 && !match(lines[line], regexp)) line--;
+ return line;
+}
+
+int next_visible(int current_line, int nb_lines, char **lines, char *regexp) {
+ int line = current_line + 1;
+ while(line < nb_lines && !match(lines[line], regexp)) line++;
+
+ if(line < nb_lines)
+ return line;
+ else
+ return -1;
+}
+