From debec8216fc7126c80a322edb3acbaa1287ae6b7 Mon Sep 17 00:00:00 2001 From: hniksic Date: Sun, 3 Jul 2005 17:35:28 -0700 Subject: [PATCH] [svn] Separate SSL error messages with "; ". --- src/ChangeLog | 4 ++++ src/openssl.c | 17 +++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 984a3446..dd5a6850 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2005-07-04 Hrvoje Niksic + + * openssl.c (openssl_errstr): Separate error messages with "; ". + 2005-07-03 Hrvoje Niksic * ftp.c (getftp): Ditto. diff --git a/src/openssl.c b/src/openssl.c index 1f96706b..f617f79b 100644 --- a/src/openssl.c +++ b/src/openssl.c @@ -287,9 +287,8 @@ openssl_peek (int fd, char *buf, int bufsize, void *ctx) static const char * openssl_errstr (int fd, void *ctx) { - /* Unfortunately we cannot use ERR_error_string's internal buf - because we must be prepared to printing more than one error in - succession. */ + /* Unfortunately we cannot use ERR_error_string's internal buffer + because we must be prepared to print more than one error. */ static char errbuf[512]; char *p = errbuf, *end = errbuf + sizeof errbuf; unsigned long err; @@ -299,16 +298,18 @@ openssl_errstr (int fd, void *ctx) return NULL; /* Iterate over OpenSSL's error stack and print errors to ERRBUF, - each followed by '\n', while being careful not to overrun - ERRBUF. */ + separated by "; ", while being careful not to overrun ERRBUF. */ do { ERR_error_string_n (err, p, end - p); p = strchr (p, '\0'); - if (p < end) - *p++ = '\n'; + err = ERR_get_error (); + if (err == 0) + break; + if (p < end) *p++ = ';'; + if (p < end) *p++ = ' '; } - while ((err = ERR_get_error ()) != 0); + while (p < end); if (p < end) *p++ = '\0'; -- 2.39.2