From: Thomas Munro Date: Mon, 10 Feb 2020 00:20:00 +0000 (+1300) Subject: psql: Fix %w length in PROMPT2 when PROMPT1 contains a newline. X-Git-Tag: REL_13_BETA1~746 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1713a0013f909d9ce5dd43d234f1cd33d6a50854;p=thirdparty%2Fpostgresql.git psql: Fix %w length in PROMPT2 when PROMPT1 contains a newline. The width of the invisible PROMPT2 must take into account, in order for user input to be aligned with the first line, that PROMPT1 can contain newlines. Author: Maxence Ahlouche Reviewed-by: Tom Lane Discussion: https://postgr.es/m/CAJeaomVyLSP_Wj%3D0FtYNTuoopWHyFarhUtYKDHs0HHv%2Bb%3DN9sA%40mail.gmail.com --- diff --git a/src/bin/psql/prompt.c b/src/bin/psql/prompt.c index 56202bd7681..26592b32872 100644 --- a/src/bin/psql/prompt.c +++ b/src/bin/psql/prompt.c @@ -373,7 +373,10 @@ get_prompt(promptStatus_t status, ConditionalStack cstack) if (visible) { chwidth = PQdsplen(p, pset.encoding); - if (chwidth > 0) + + if (*p == '\n') + last_prompt1_width = 0; + else if (chwidth > 0) last_prompt1_width += chwidth; }