By giving the "t" flag to _fdopen() on Windows, the file will be
opened in a "translate mode", where it will take care of converting
\n to \r\n, and also look for the CTRL-Z mark when opening the log
file in append mode.

Reference:
<http://msdn.microsoft.com/en-us/library/dye30d82%28VS.80%29.aspx>

Thanks to Alon Bar-Lev for pointing out this solution.

Reported-by: Thomas Reifferscheid
Signed-off-by: David Sommerseth <dav...@redhat.com>
---
 error.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/error.c b/error.c
index 873718c..887f2d0 100644
--- a/error.c
+++ b/error.c
@@ -521,7 +521,7 @@ redirect_stdout_stderr (const char *file, bool append)

       /* open log_handle as FILE stream */
       ASSERT (msgfp == NULL);
-      msgfp = _fdopen (log_fd, "w");
+      msgfp = _fdopen (log_fd, "wt");
       if (msgfp == NULL)
        msg (M_ERR, "Error: --log redirect failed due to _fdopen");

-- 
1.7.2.3


Reply via email to