Alternatively, here the patch is enclosed as a git format-patch file,
with some indentation correction (sorry, my editor substituted spaces
for tabs.)

On Mon, Aug 28, 2017 at 12:20 PM, Tore Sinding Bekkedal
<tore...@gmail.com> wrote:
> Hello - long time user, first time contributor.
>
> The screen lock message does not present GECOS data correctly if it -
> as is tradition - is a comma-separated string; so rather than:
>
> screen used by Tore Sinding Bekkedal <toresbe> on pascal.
>
> I get:
>
> screen used by Tore Sinding Bekkedal,,, <toresbe> on pascal.
>
> Here's a patch which should fix that. I hope it's been formatted
> correctly, sent to the right place, and meets the appropriate
> standards - if not, please let me know.
>
> diff --git a/src/socket.c b/src/socket.c
> index 804592e..4402016 100644
> --- a/src/socket.c
> +++ b/src/socket.c
> @@ -1105,8 +1105,19 @@ static void AskPassword(Message *m)
>         D_processinputdata = (char *)pwdata;
>         D_processinput = PasswordProcessInput;
>
> -       snprintf(prompt, sizeof(prompt), "\ascreen used by %s%s<%s> on
> %s.\r\nPassword: ", ppp->pw_gecos,
> +        char * gecos_comma = strchr(ppp->pw_gecos, ',');
> +        char * realname = 0;
> +
> +        if (gecos_comma) {
> +            realname = malloc(gecos_comma - ppp->pw_gecos);
> +            memcpy(realname, ppp->pw_gecos, gecos_comma - ppp->pw_gecos);
> +        }
> +
> +       snprintf(prompt, sizeof(prompt), "\ascreen used by %s%s<%s> on
> %s.\r\nPassword: ",
> +                gecos_comma ? realname : ppp->pw_gecos,
>                  ppp->pw_gecos[0] ? " " : "", ppp->pw_name, HostName);
> +
> +        free(realname);
>         AddStr(prompt);
>  }
>
> regards,
> --
> Tore Sinding Bekkedal | http://gunkies.org/ | Mob: +47 91 85 95 08
> "I never let my schooling interfere with my education." - Mark Twain



-- 
Tore Sinding Bekkedal | http://gunkies.org/ | Mob: +47 91 85 95 08
"I never let my schooling interfere with my education." - Mark Twain
From cf4cf3b646a86941cc7f402950e606c131599639 Mon Sep 17 00:00:00 2001
From: Tore Sinding Bekkedal <tore...@gmail.com>
Date: Mon, 28 Aug 2017 13:42:40 +0200
Subject: [PATCH] Fix unlock prompt when GECOS is CSVs
To: screen-devel@gnu.org

---
 src/socket.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/socket.c b/src/socket.c
index 804592e..3938fa0 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -1105,8 +1105,19 @@ static void AskPassword(Message *m)
 	D_processinputdata = (char *)pwdata;
 	D_processinput = PasswordProcessInput;
 
-	snprintf(prompt, sizeof(prompt), "\ascreen used by %s%s<%s> on %s.\r\nPassword: ", ppp->pw_gecos,
+	char * gecos_comma = strchr(ppp->pw_gecos, ',');
+	char * realname = 0;
+
+	if (gecos_comma) {
+	    realname = malloc(gecos_comma - ppp->pw_gecos);
+	    memcpy(realname, ppp->pw_gecos, gecos_comma - ppp->pw_gecos);
+	}
+
+	snprintf(prompt, sizeof(prompt), "\ascreen used by %s%s<%s> on %s.\r\nPassword: ",
+		 gecos_comma ? realname : ppp->pw_gecos,
 		 ppp->pw_gecos[0] ? " " : "", ppp->pw_name, HostName);
+
+	free(realname);
 	AddStr(prompt);
 }
 
-- 
2.11.0

Reply via email to