Commit bf65f53fbaaca39600017247108b0627033f2fb1

Authored by Filip Navara
Committed by Anthony Liguori
1 parent 8fde6546

Remove setvbuf(<handle>, NULL, _IOLBF, 0) calls for Win32

On Win32 the setvbuf function requires the last parameter to be size between 2 and INT_MAX bytes, so the calls always failed. Since the whole point of the calls is to set line-buffered mode for the file handle and that's not supported on Win32 anyway, conditionally remove them.

Signed-off-by: Filip Navara <filip.navara@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing 2 changed files with 5 additions and 1 deletions
@@ -1491,7 +1491,8 @@ void cpu_set_log(int log_flags) @@ -1491,7 +1491,8 @@ void cpu_set_log(int log_flags)
1491 static char logfile_buf[4096]; 1491 static char logfile_buf[4096];
1492 setvbuf(logfile, logfile_buf, _IOLBF, sizeof(logfile_buf)); 1492 setvbuf(logfile, logfile_buf, _IOLBF, sizeof(logfile_buf));
1493 } 1493 }
1494 -#else 1494 +#elif !defined(_WIN32)
  1495 + /* Win32 doesn't support line-buffering and requires size >= 2 */
1495 setvbuf(logfile, NULL, _IOLBF, 0); 1496 setvbuf(logfile, NULL, _IOLBF, 0);
1496 #endif 1497 #endif
1497 log_append = 1; 1498 log_append = 1;
@@ -5755,7 +5755,10 @@ int main(int argc, char **argv, char **envp) @@ -5755,7 +5755,10 @@ int main(int argc, char **argv, char **envp)
5755 exit(1); 5755 exit(1);
5756 } 5756 }
5757 5757
  5758 +#ifndef _WIN32
  5759 + /* Win32 doesn't support line-buffering and requires size >= 2 */
5758 setvbuf(stdout, NULL, _IOLBF, 0); 5760 setvbuf(stdout, NULL, _IOLBF, 0);
  5761 +#endif
5759 5762
5760 init_timers(); 5763 init_timers();
5761 if (init_timer_alarm() < 0) { 5764 if (init_timer_alarm() < 0) {