Add some fflush() for avoid loosing comme characters
[TP_AL_C.git] / lexer / print_helper.c
index d5ca8f0da8705e4865663718ce215a9fd3ea5bcd..9f97a8fffe6f6acecd827d9382b5e8313ede6404 100644 (file)
@@ -2,12 +2,15 @@
 #include <stdio.h>
 #include <wchar.h>
 
-void pr_warning(const char *format, ...) {
+#include "global_vars.h"
+
+void pr_warning(const char* format, ...) {
     va_list args;
 
     va_start(args, format);
     fprintf(stdout, format, args);
     va_end(args);
+    fflush(stdout);
 }
 
 void pr_error(const char *format, ...) {
@@ -16,7 +19,21 @@ void pr_error(const char *format, ...) {
     va_start(args, format);
     fprintf(stderr, format, args);
     va_end(args);
+    fflush(stderr);
+}
+
+#if DEBUG
+void pr_debug(const char *format, ...) {
+    va_list args;
+
+    va_start(args, format);
+    fprintf(stderr, format, args);
+    va_end(args);
+    fflush(stderr);
 }
+#else
+void pr_debug(const char *format, ...);
+#endif /* DEBUG */
 
 void wpr_warning(const wchar_t *format, ...) {
     va_list args;
@@ -24,6 +41,7 @@ void wpr_warning(const wchar_t *format, ...) {
     va_start(args, format);
     fwprintf(stdout, format, args);
     va_end(args);
+    fflush(stdout);
 }
 
 void wpr_error(const wchar_t *format, ...) {
@@ -32,4 +50,14 @@ void wpr_error(const wchar_t *format, ...) {
     va_start(args, format);
     fwprintf(stderr, format, args);
     va_end(args);
+    fflush(stderr);
+}
+
+void wprint_token() {
+    if (tokenType == MOT || tokenType == MOTCLE) {
+        fwprintf(target, L"%20s: %ls\n", tokenTypestr[tokenType], token[tokenFound].value);
+    } else {
+        fwprintf(target, L"%20s\n", tokenTypestr[tokenType]);
+    }
+    fflush(target);
 }