Bugfixes 2 #208
@@ -513,7 +513,10 @@ bool PISerial::read(void * data, int size, double timeout_ms) {
|
|||||||
all = readDevice(data, 1);
|
all = readDevice(data, 1);
|
||||||
while (all < size) {
|
while (all < size) {
|
||||||
ret = readDevice(&((uchar *)data)[all], size - all);
|
ret = readDevice(&((uchar *)data)[all], size - all);
|
||||||
if (ret > 0) all += ret;
|
if (ret > 0)
|
||||||
|
all += ret;
|
||||||
|
else
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
setOption(BlockingRead, br);
|
setOption(BlockingRead, br);
|
||||||
received(data, all);
|
received(data, all);
|
||||||
@@ -1235,8 +1238,8 @@ PIVector<PISerial::DeviceInfo> PISerial::availableDevicesInfo(bool test) {
|
|||||||
for (const auto & e: de) { // TODO changes in FileInfo
|
for (const auto & e: de) { // TODO changes in FileInfo
|
||||||
for (const auto & p: prefixes) {
|
for (const auto & p: prefixes) {
|
||||||
if (e.name().startsWith(p)) {
|
if (e.name().startsWith(p)) {
|
||||||
di = DeviceInfo();
|
di = DeviceInfo();
|
||||||
di.path = e.path;
|
di.path = e.path;
|
||||||
# ifdef LINUX
|
# ifdef LINUX
|
||||||
ssize_t lsz = readlink(("/sys/class/tty/" + e.name()).dataAscii(), linkbuf, 1024);
|
ssize_t lsz = readlink(("/sys/class/tty/" + e.name()).dataAscii(), linkbuf, 1024);
|
||||||
if (lsz > 0) {
|
if (lsz > 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user