pgsql: Fix pg_current_logfile() to not emit a carriage return on Window - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix pg_current_logfile() to not emit a carriage return on Window
Date
Msg-id E1jtcl7-0007KY-0S@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix pg_current_logfile() to not emit a carriage return on Windows.

Due to not having our signals straight about CRLF vs. LF line
termination, the output of pg_current_logfile() included a trailing
\r on Windows.  To fix, force the file descriptor it uses into text
mode.

While here, move a couple of local variable declarations to make
the function's logic clearer.

In v12 and v13, also back-patch the test added by 1c4e88e2f so that
this function has some test coverage.  However, the 004_logrotate.pl
test script doesn't exist before v12, and it didn't seem worth adding
to older branches just for this.

Per report from Thomas Kellerer.  Back-patch to v10 where this
function was added.

Discussion: https://postgr.es/m/412ae8da-76bb-640f-039a-f3513499e53d@gmx.net

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/2564e2d08546dfedc1482e10205be58a20ffe3cc

Modified Files
--------------
src/backend/utils/adt/misc.c      | 19 ++++++++++++-------
src/bin/pg_ctl/t/004_logrotate.pl |  6 +++++-
2 files changed, 17 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix pg_current_logfile() to not emit a carriage return on Window
Next
From: Tom Lane
Date:
Subject: pgsql: Tighten up Windows CRLF conversion in our TAP test scripts.