diff options
Diffstat (limited to '')
-rw-r--r-- | src/stable/protocoltelnet.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/stable/protocoltelnet.cpp b/src/stable/protocoltelnet.cpp index 4259fc7..f8a3906 100644 --- a/src/stable/protocoltelnet.cpp +++ b/src/stable/protocoltelnet.cpp | |||
@@ -70,6 +70,7 @@ Bu::ProtocolTelnet::ProtocolTelnet() : | |||
70 | oNAWS( *this, OPT_NAWS ), | 70 | oNAWS( *this, OPT_NAWS ), |
71 | oSuppressGA(*this, OPT_SUPGA ), | 71 | oSuppressGA(*this, OPT_SUPGA ), |
72 | bCanonical( true ), | 72 | bCanonical( true ), |
73 | bEcho( true ), | ||
73 | bSubOpt( false ) | 74 | bSubOpt( false ) |
74 | { | 75 | { |
75 | } | 76 | } |
@@ -230,7 +231,7 @@ void Bu::ProtocolTelnet::onNewData( Bu::Client *pClient ) | |||
230 | else | 231 | else |
231 | { | 232 | { |
232 | sDataBuf += bc; | 233 | sDataBuf += bc; |
233 | if( oEcho.isLocalSet() ) | 234 | if( oEcho.isLocalSet() && bEcho ) |
234 | { | 235 | { |
235 | pClient->write( &bc, 1 ); | 236 | pClient->write( &bc, 1 ); |
236 | #ifdef __TELNET_DEBUG | 237 | #ifdef __TELNET_DEBUG |
@@ -243,7 +244,7 @@ void Bu::ProtocolTelnet::onNewData( Bu::Client *pClient ) | |||
243 | else | 244 | else |
244 | { | 245 | { |
245 | sDataBuf += bc; | 246 | sDataBuf += bc; |
246 | if( oEcho.isLocalSet() ) | 247 | if( oEcho.isLocalSet() && bEcho ) |
247 | { | 248 | { |
248 | pClient->write( &bc, 1 ); | 249 | pClient->write( &bc, 1 ); |
249 | } | 250 | } |
@@ -273,6 +274,16 @@ bool Bu::ProtocolTelnet::isCanonical() | |||
273 | return bCanonical; | 274 | return bCanonical; |
274 | } | 275 | } |
275 | 276 | ||
277 | void Bu::ProtocolTelnet::setEcho( bool bOpt ) | ||
278 | { | ||
279 | bEcho = bOpt; | ||
280 | } | ||
281 | |||
282 | bool Bu::ProtocolTelnet::isEchoEnabled() | ||
283 | { | ||
284 | return bEcho; | ||
285 | } | ||
286 | |||
276 | void Bu::ProtocolTelnet::write( const Bu::String &sData ) | 287 | void Bu::ProtocolTelnet::write( const Bu::String &sData ) |
277 | { | 288 | { |
278 | write( sData.getStr(), sData.getSize() ); | 289 | write( sData.getStr(), sData.getSize() ); |