lines[nb_lines] = new char[strlen(s) + 1];
strcpy(lines[nb_lines], s);
} else {
+ // We do not allocate a new string but use the pointer to the
+ // first occurence of it
lines[nb_lines] = lines[dup];
lines[dup] = 0;
}
delete[] hash_table;
+ // Now remove the null strings
+
int n = 0;
for(int k = 0; k < nb_lines; k++) {
if(lines[k]) {
int pattern_point;
pattern_point = 0;
+ //////////////////////////////////////////////////////////////////////
+ // Here we start to display with curse
+
initscr();
+ noecho();
+
+ // Hide the cursor
+ curs_set(0);
+
+ // So that the arrow keys work
+ keypad(stdscr, TRUE);
+
if(with_colors) {
if(has_colors()) {
start_color();
}
}
- noecho();
- curs_set(0); // Hide the cursor
- keypad(stdscr, TRUE); // So that the arrow keys work
-
int key;
int current_line = 0, temporary_line = 0;
curs_set(1);
endwin();
+ //////////////////////////////////////////////////////////////////////
+ // Here we come back to standard display
+
if((key == KEY_ENTER || key == '\n')) {
if(output_to_vt_buffer) {