summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2018-07-05 22:43:29 +0200
committerDaniel Stenberg <daniel@haxx.se>2018-07-06 09:11:20 +0200
commit0d3eeaadb49e2c55b29e51982f377c968ab9c934 (patch)
tree9a7f426d278df4cf87ce8c51bae25df9519c49f8
parent75105480dc0b2221441f3a0155f69b86514b6104 (diff)
downloadcurl-0d3eeaadb49e2c55b29e51982f377c968ab9c934.tar.gz
libssh: include line number in state change debug messages
Closes #2713
-rw-r--r--lib/ssh-libssh.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/ssh-libssh.c b/lib/ssh-libssh.c
index 69c87ac67..1c00879ba 100644
--- a/lib/ssh-libssh.c
+++ b/lib/ssh-libssh.c
@@ -204,11 +204,21 @@ static CURLcode sftp_error_to_CURLE(int err)
return CURLE_SSH;
}
+#ifndef DEBUGBUILD
+#define state(x,y) mystate(x,y)
+#else
+#define state(x,y) mystate(x,y, __LINE__)
+#endif
+
/*
* SSH State machine related code
*/
/* This is the ONLY way to change SSH state! */
-static void state(struct connectdata *conn, sshstate nowstate)
+static void mystate(struct connectdata *conn, sshstate nowstate
+#ifdef DEBUGBUILD
+ , int lineno
+#endif
+ )
{
struct ssh_conn *sshc = &conn->proto.sshc;
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
@@ -278,8 +288,9 @@ static void state(struct connectdata *conn, sshstate nowstate)
if(sshc->state != nowstate) {
- infof(conn->data, "SSH %p state change from %s to %s\n",
- (void *) sshc, names[sshc->state], names[nowstate]);
+ infof(conn->data, "SSH %p state change from %s to %s (line %d)\n",
+ (void *) sshc, names[sshc->state], names[nowstate],
+ lineno);
}
#endif