X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fplatform%2Flinux%2Fserialport.cpp;h=56bdc3070fc8fa6603a0f85317d35ca03c611f19;hb=82b65f18fa44f1f9a673f10d917b2efdf087e565;hp=e8fb8e5b411f52c34fbe82066b7800256bc89124;hpb=3424a2f327e569e92c7282c6e643536984a65c64;p=deb_libcec.git diff --git a/src/lib/platform/linux/serialport.cpp b/src/lib/platform/linux/serialport.cpp index e8fb8e5..56bdc30 100644 --- a/src/lib/platform/linux/serialport.cpp +++ b/src/lib/platform/linux/serialport.cpp @@ -22,6 +22,17 @@ #include "../baudrate.h" #include "../timeutils.h" +#if defined(__APPLE__) +#ifndef XCASE +#define XCASE 0 +#endif +#ifndef OLCUC +#define OLCUC 0 +#endif +#ifndef IUCLC +#define IUCLC 0 +#endif +#endif using namespace std; using namespace CEC; @@ -35,7 +46,7 @@ CSerialPort::~CSerialPort() Close(); } -int32_t CSerialPort::Write(uint8_t* data, uint32_t len) +int8_t CSerialPort::Write(CCECAdapterMessage *data) { fd_set port; @@ -48,7 +59,7 @@ int32_t CSerialPort::Write(uint8_t* data, uint32_t len) int32_t byteswritten = 0; - while (byteswritten < (int32_t) len) + while (byteswritten < (int32_t) data->size()) { FD_ZERO(&port); FD_SET(m_fd, &port); @@ -59,7 +70,7 @@ int32_t CSerialPort::Write(uint8_t* data, uint32_t len) return -1; } - returnv = write(m_fd, data + byteswritten, len - byteswritten); + returnv = write(m_fd, data->packet.data + byteswritten, data->size() - byteswritten); if (returnv == -1) { m_error = strerror(errno); @@ -74,7 +85,7 @@ int32_t CSerialPort::Write(uint8_t* data, uint32_t len) // printf("%s write:", m_name.c_str()); // for (int i = 0; i < byteswritten; i++) // printf(" %02x", (unsigned int)data[i]); - +// // printf("\n"); // }