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

View File

@ -3,12 +3,14 @@
PROCESSING 5503 SYNC
Serial monitor errors should appear in serial monitor.
Don't require save before upload.
Add library keyword highlighting.
Allow closing of the serial monitor with keyboard short cuts.
Support libraries in the SKETCH/code folder?
Get rid of unused preferences in the preferences dialog.
Don't allow in-place modification of user-installed library examples.