diff options
Diffstat (limited to 'clientloop.c')
-rw-r--r-- | clientloop.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/clientloop.c b/clientloop.c index 07d2c8923..20fa4b9f4 100644 --- a/clientloop.c +++ b/clientloop.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: clientloop.c,v 1.244 2012/09/06 09:50:13 dtucker Exp $ */ | 1 | /* $OpenBSD: clientloop.c,v 1.245 2012/09/07 00:30:19 dtucker Exp $ */ |
2 | /* | 2 | /* |
3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 3 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 4 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
@@ -1114,11 +1114,16 @@ process_escapes(Channel *c, Buffer *bin, Buffer *bout, Buffer *berr, | |||
1114 | case 'Z' - 64: | 1114 | case 'Z' - 64: |
1115 | /* XXX support this for mux clients */ | 1115 | /* XXX support this for mux clients */ |
1116 | if (c && c->ctl_chan != -1) { | 1116 | if (c && c->ctl_chan != -1) { |
1117 | char b[16]; | ||
1117 | noescape: | 1118 | noescape: |
1119 | if (ch == 'Z' - 64) | ||
1120 | snprintf(b, sizeof b, "^Z"); | ||
1121 | else | ||
1122 | snprintf(b, sizeof b, "%c", ch); | ||
1118 | snprintf(string, sizeof string, | 1123 | snprintf(string, sizeof string, |
1119 | "%c%c escape not available to " | 1124 | "%c%s escape not available to " |
1120 | "multiplexed sessions\r\n", | 1125 | "multiplexed sessions\r\n", |
1121 | escape_char, ch); | 1126 | escape_char, b); |
1122 | buffer_append(berr, string, | 1127 | buffer_append(berr, string, |
1123 | strlen(string)); | 1128 | strlen(string)); |
1124 | continue; | 1129 | continue; |