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

Frediano Ziglio freddy77 at gmail.com
Mon Jun 2 19:48:51 EDT 2014


Applied all!

Frediano


2014-05-30 19:32 GMT+01:00 Craig A. Berry <craigberry at mac.com>:

> 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
>
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
>
>


More information about the FreeTDS mailing list