]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Open log files as text files on Windows
authorDavid Sommerseth <davids@redhat.com>
Mon, 13 Dec 2010 11:49:00 +0000 (12:49 +0100)
committerDavid Sommerseth <davids@redhat.com>
Thu, 24 Mar 2011 18:50:00 +0000 (19:50 +0100)
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 <davids@redhat.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
error.c

diff --git a/error.c b/error.c
index 5c53251d1b66318dcf3de18e8725ad9287782601..9754464f8aef365800459b0e1d259c09556b9200 100644 (file)
--- a/error.c
+++ b/error.c
@@ -506,7 +506,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");