From f5a568dd35c9bba7be5c2e09597257beb0ffaeb8 Mon Sep 17 00:00:00 2001
From: ploc <ploc@garoche.net>
Date: Thu, 22 Jun 2017 08:14:57 -0700
Subject: [PATCH] Flushing after printing in io_frontend functions

---
 include/io_frontend.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/include/io_frontend.c b/include/io_frontend.c
index 3cd2b9be..8984b3ce 100644
--- a/include/io_frontend.c
+++ b/include/io_frontend.c
@@ -67,6 +67,7 @@ void _put_bool(FILE* file, char* n, _Bool _V){
   printf("'%i' ", (_V)? 1 : 0);
   printf("\n");
   fprintf(file, "%i\n", _V);
+  fflush(file);
 }
 void _put_int(FILE* file, char* n, int _V){
   if(ISATTY) {
@@ -77,14 +78,29 @@ void _put_int(FILE* file, char* n, int _V){
   printf("'%d' ", _V);
   printf("\n");
   fprintf(file, "%d\n", _V);
+  fflush(file);
 }
-void _put_double(FILE* file, char* n, double _V){
+
+void _put_float(FILE* file, char* n, float _V, int PREC){
+  if(ISATTY) {
+    printf("%s = ", n);
+  } else {
+    printf("'%s': ", n);
+  };
+  printf("'%.*f' ", PREC, _V);
+  printf("\n");
+  fprintf(file, "%.*f\n", PREC, _V);
+  fflush(file);
+}
+
+void _put_double(FILE* file, char* n, double _V, int PREC){
   if(ISATTY) {
     printf("%s = ", n);
   } else {
     printf("'%s': ", n);
   };
-  printf("'%f' ", _V);
+  printf("'%.*f' ", PREC, _V);
   printf("\n");
-  fprintf(file, "%f\n", _V);
+  fprintf(file, "%.*f\n", PREC, _V);
+  fflush(file);
 }
-- 
GitLab