Additional error log messages

This commit is contained in:
Klaus Schmidinger 2000-06-17 17:43:05 +02:00
parent abc6aa949c
commit 4f08e7d825
1 changed files with 21 additions and 15 deletions

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: remote.c 1.7 2000/05/07 09:28:18 kls Exp $ * $Id: remote.c 1.8 2000/06/17 17:43:05 kls Exp $
*/ */
#include "remote.h" #include "remote.h"
@ -61,7 +61,7 @@ bool cRcIo::InputAvailable(bool Wait)
timeout.tv_usec = Wait ? 0 : 10000; timeout.tv_usec = Wait ? 0 : 10000;
FD_ZERO(&set); FD_ZERO(&set);
FD_SET(f, &set); FD_SET(f, &set);
if (select(FD_SETSIZE, &set, NULL, NULL, &timeout) > 0) if (select(FD_SETSIZE, &set, NULL, NULL, &timeout) > 0)
return FD_ISSET(f, &set); return FD_ISSET(f, &set);
} }
return false; return false;
@ -74,26 +74,32 @@ int cRcIo::ReceiveByte(bool Wait)
unsigned char b; unsigned char b;
if (read(f, &b, 1) == 1) if (read(f, &b, 1) == 1)
return b; return b;
else
LOG_ERROR;
} }
return -1; return -1;
} }
bool cRcIo::SendByteHandshake(unsigned char c) bool cRcIo::SendByteHandshake(unsigned char c)
{ {
if (f >= 0 && write(f, &c, 1) == 1) { if (f >= 0) {
for (int reply = ReceiveByte(); reply >= 0;) { int w = write(f, &c, 1);
if (reply == c) if (w == 1) {
return true; for (int reply = ReceiveByte(); reply >= 0;) {
else if (reply == 'X') { if (reply == c)
// skip any incoming RC code - it will come again return true;
for (int i = 6; i--;) { else if (reply == 'X') {
if (ReceiveByte(false) < 0) // skip any incoming RC code - it will come again
return false; for (int i = 6; i--;) {
} if (ReceiveByte(false) < 0)
return false;
}
}
else
return false;
} }
else }
return false; LOG_ERROR;
}
} }
return false; return false;
} }