From cac19c86e76dfc94f1995b5b89d6082710d57feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 8 Aug 2005 13:37:04 +0000 Subject: [PATCH] Fix printing of /etc/issue{,.net}. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15845 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/telnet/telnetd/telnetd.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/appl/telnet/telnetd/telnetd.c b/appl/telnet/telnetd/telnetd.c index 1741ecffe..c707a5b53 100644 --- a/appl/telnet/telnetd/telnetd.c +++ b/appl/telnet/telnetd/telnetd.c @@ -778,10 +778,17 @@ show_issue(void) if(f == NULL) f = fopen(SYSCONFDIR "/issue", "r"); if(f){ - while(fgets(buf, sizeof(buf)-2, f)){ + while(fgets(buf, sizeof(buf), f) != NULL) { size_t len = strcspn(buf, "\r\n"); - len = strlcpy(buf + len, "\r\n", sizeof(buf) - len); - writenet((unsigned char*)buf, len); + if(len == strlen(buf)) { + /* there's no newline */ + writenet(buf, len); + } else { + /* replace newline with \r\n */ + buf[len] = '\0'; + writenet(buf, len); + writenet("\r\n", 2); + } } fclose(f); }