diff options
| -rw-r--r-- | jet.c | 14 | 
1 files changed, 9 insertions, 5 deletions
| @@ -37,15 +37,19 @@ int main(int argc, char *argv[]) {  	for (int i = 0; i < file_size; i++) {  		if (buffer[i] == '\n') number_of_lines++;  	} +	int old_line = -1;  	while (1) { -		int iter_line = 0; -		for (int i = 0; i < file_size && iter_line < window_height + current_line; i++) { -			if (iter_line >= current_line) addch(buffer[i]); -			if (buffer[i] == '\n') iter_line++; +		if (old_line != current_line) { +			clear(); +			int iter_line = 0; +			for (int i = 0; i < file_size && iter_line < window_height + current_line; i++) { +				if (iter_line >= current_line) addch(buffer[i]); +				if (buffer[i] == '\n') iter_line++; +			}  		} +		old_line = current_line;  		int input = getch(); -		clear();  		switch (input) {  			case KEY_UP: | 
