force flush on ANSI commands - gramscii - A simple editor for ASCII box-and-arrow charts
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Tags
(DIR) README
(DIR) LICENSE
---
(DIR) commit 1aa7efdd7a8dcfd1a55f30c2754d1e473f0bb59b
(DIR) parent 5cfc45336702f9edb4e1c65890157e7ccdafd482
(HTM) Author: KatolaZ <katolaz@freaknet.org>
Date: Wed, 24 Jul 2019 15:36:56 +0100
force flush on ANSI commands
Diffstat:
M gramscii.c | 8 ++++++++
1 file changed, 8 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/gramscii.c b/gramscii.c
@@ -106,6 +106,7 @@ void cleanup(int s){
printf("\033[;H\033[2J");
tcsetattr(0, TCSANOW, &t1);
+ fflush(stdout);
exit(0);
}
@@ -147,6 +148,7 @@ void status_bar(){
printf(" '%d' ", screen[y][x]);
#endif
printf("\033[0m");
+ fflush(stdout);
}
char get_key(char *msg){
@@ -156,6 +158,7 @@ char get_key(char *msg){
printf("\033[%d;1f\033[7m", HEIGHT+1);
printf("%s", msg);
printf("\033[0m");
+ fflush(stdout);
return getchar();
}
@@ -173,6 +176,7 @@ void get_string(char *msg, char *s, int sz){
fgets(s, sz, stdin);
s[strlen(s)-1] = '\0';
tcsetattr(0, TCSANOW, &t2);
+ fflush(stdout);
}
int is_yes(char c){
@@ -183,6 +187,7 @@ int is_yes(char c){
void show_cursor(){
printf("\033[%d;%df", y+1, x+1);
+ fflush(stdout);
}
void set_cur(char c){
@@ -198,11 +203,13 @@ void draw_xy(int x, int y, char c){
/* FIXME: check if x and y are valid!!!! */
printf("\033[%d;%df",y+1,x+1);
putchar(c);
+ fflush(stdout);
}
void update_current(){
printf("\033[%d'%df",y+1,x+1);
putchar(screen[y][x]);
+ fflush(stdout);
}
void erase_line(char *s){
@@ -360,6 +367,7 @@ int progr_y(int dir){
void set_video(int v){
printf("\033[%dm", v);
+ fflush(stdout);
}
/*** Lines and markers ***/