1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-19 09:42:11 +03:00

Fixing Client::connected() and Client::status() to return reasonable values when the Client isn't associated with a valid socket: issue #34.

This commit is contained in:
David A. Mellis
2009-06-15 20:11:13 +00:00
parent 051d8f2e4f
commit 3b09a2ad1d
2 changed files with 16 additions and 6 deletions

View File

@ -113,13 +113,21 @@ void Client::stop() {
}
uint8_t Client::connected() {
uint8_t s = status();
return !(s == SOCK_LISTEN || s == SOCK_CLOSED || s == SOCK_FIN_WAIT ||
(s == SOCK_CLOSE_WAIT && !available()));
if (_sock == 255) {
return 0;
} else {
uint8_t s = status();
return !(s == SOCK_LISTEN || s == SOCK_CLOSED || s == SOCK_FIN_WAIT ||
(s == SOCK_CLOSE_WAIT && !available()));
}
}
uint8_t Client::status() {
return getSn_SR(_sock);
if (_sock == 255) {
return SOCK_CLOSED;
} else {
return getSn_SR(_sock);
}
}
// the next three functions are a hack so we can compare the client returned