From ebf2b08bb12d61b1f616e31d63e4395cda3d0dd1 Mon Sep 17 00:00:00 2001 From: peri4 Date: Thu, 4 Apr 2024 12:34:00 +0300 Subject: [PATCH] PIPacketExtractor fix --- libs/main/io_devices/piserial.cpp | 2 +- libs/main/io_utils/pipacketextractor.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libs/main/io_devices/piserial.cpp b/libs/main/io_devices/piserial.cpp index bd4d6588..1f7c62de 100644 --- a/libs/main/io_devices/piserial.cpp +++ b/libs/main/io_devices/piserial.cpp @@ -707,7 +707,7 @@ bool PISerial::openDevice() { PIString wp = "//./" + p; PRIVATE->hCom = CreateFileA(wp.dataAscii(), ds, sm, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM | FILE_FLAG_OVERLAPPED, 0); if (PRIVATE->hCom == INVALID_HANDLE_VALUE) { - piCoutObj << "Unable to open \"" << p << "\""; + piCoutObj << "Unable to open \"" << p << "\"" << errorString(); fd = -1; return false; } diff --git a/libs/main/io_utils/pipacketextractor.cpp b/libs/main/io_utils/pipacketextractor.cpp index a0de975b..0518128b 100644 --- a/libs/main/io_utils/pipacketextractor.cpp +++ b/libs/main/io_utils/pipacketextractor.cpp @@ -305,13 +305,17 @@ PIString PIPacketExtractor::constructFullPathDevice() const { bool PIPacketExtractor::openDevice() { - if (dev) return dev->open(); + if (dev) { + if (!dev->isOpened()) return dev->open(); + } return false; } bool PIPacketExtractor::closeDevice() { - if (dev) return dev->close(); + if (dev) { + if (dev->isOpened()) return dev->close(); + } return false; }