[freetds] [PATCH] Don't return newline from VMS-specific readline.

Craig A. Berry craigberry at mac.com
Fri May 30 14:32:18 EDT 2014


readline is documented to return a line without the trailing
newline, but we haven't been doing this in our homegrown version
so would sometimes see doubled newlines in fisql.
---
 vms/getpass.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/vms/getpass.c b/vms/getpass.c
index b7d1ecb..d11c744 100644
--- a/vms/getpass.c
+++ b/vms/getpass.c
@@ -279,7 +279,7 @@ getpass(const char *prompt)
 char *
 readline(char *prompt)
 {
-	char *buf = NULL, *s = NULL, *p = NULL;
+	char *buf = NULL, *s = NULL, *p = NULL, *newline = NULL;
 	if (tds_rl_instream == NULL)
 		s = readpassphrase((const char *) prompt, passbuf, sizeof(passbuf),
 					 RPP_ECHO_ON | RPP_TIMEOUT_OFF);
@@ -290,6 +290,13 @@ readline(char *prompt)
 		buf = (char *) malloc(strlen(s) + 1);
 		strcpy(buf, s);
 	}
+	/* readline is documented to eat the newline. */
+	if (buf) {
+		newline = strchr(buf, '\n');
+		if (newline)
+			*newline = '\0';
+	}
+
 	return buf;

 }				/* readline */
--
1.8.4.2
________________________________________
Craig A. Berry
mailto:craigberry at mac.com

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Don-t-return-newline-from-VMS-specific-readline.patch
Type: application/octet-stream
Size: 1217 bytes
Desc: not available
URL: <http://lists.ibiblio.org/pipermail/freetds/attachments/20140530/4bbc964e/attachment.obj>


More information about the FreeTDS mailing list