diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/org/connectbot/transport/Telnet.java | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/org/connectbot/transport/Telnet.java b/src/org/connectbot/transport/Telnet.java index 597ac1b..613e1de 100644 --- a/src/org/connectbot/transport/Telnet.java +++ b/src/org/connectbot/transport/Telnet.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; +import java.net.SocketException; import java.net.UnknownHostException; import java.util.Map; import java.util.regex.Matcher; @@ -89,7 +90,8 @@ public class Telnet extends AbsTransport { /** write data to our back end */ @Override public void write(byte[] b) throws IOException { - os.write(b); + if (os != null) + os.write(b); } /** sent on IAC EOR (prompt terminator for remote access systems). */ @@ -193,14 +195,22 @@ public class Telnet extends AbsTransport { @Override public void write(byte[] buffer) throws IOException { - if (os != null) - os.write(buffer); + try { + if (os != null) + os.write(buffer); + } catch (SocketException e) { + bridge.dispatchDisconnect(false); + } } @Override public void write(int c) throws IOException { - if (os != null) - os.write(c); + try { + if (os != null) + os.write(c); + } catch (SocketException e) { + bridge.dispatchDisconnect(false); + } } @Override |