+#define logevent(s) { logevent(ssh->frontend, s); \
+ if ((flags & FLAG_STDERR) && (flags & FLAG_VERBOSE)) \
+ { fprintf(stderr, "%s\n", s); fflush(stderr); } }
+
+/* logevent, only printf-formatted. */
+void logeventf(Ssh ssh, char *fmt, ...)
+{
+ va_list ap;
+ char stuff[200];
+
+ va_start(ap, fmt);
+ vsprintf(stuff, fmt, ap);
+ va_end(ap);
+ logevent(stuff);
+}
+
+#define bombout(msg) ( ssh->state = SSH_STATE_CLOSED, \
+ (ssh->s ? sk_close(ssh->s), ssh->s = NULL : 0), \
+ logeventf msg, connection_fatal msg )
+