From dea29429bfbad1a90854a70cebafb53422a170f8 Mon Sep 17 00:00:00 2001 From: peri4 Date: Wed, 3 May 2023 22:12:56 +0300 Subject: [PATCH] PIBinaryLog support for uint ID --- libs/main/io_devices/pibinarylog.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/main/io_devices/pibinarylog.cpp b/libs/main/io_devices/pibinarylog.cpp index d00b59ac..222e40f3 100644 --- a/libs/main/io_devices/pibinarylog.cpp +++ b/libs/main/io_devices/pibinarylog.cpp @@ -366,7 +366,7 @@ PIByteArray PIBinaryLog::readBinLog(int id, PISystemTime * time, int * readed_id fileEnd(); return PIByteArray(); } - if (id == 0 && br.id > 0) { + if ((id == 0) && (br.id != 0) && (br.id != -1)) { if (time) *time = br.timestamp; if (readed_id) *readed_id = br.id; return br.data; @@ -434,7 +434,7 @@ ssize_t PIBinaryLog::readDevice(void * read_to, ssize_t max_size) { piCoutObj << "End of BinLog file"; return 0; } - if (br.id <= 0) { + if (br.id == 0) { piCoutObj << "Read record error"; return -1; } @@ -516,7 +516,7 @@ bool PIBinaryLog::checkFileHeader() { PIBinaryLog::BinLogRecord PIBinaryLog::readRecord() { - // piCoutObj << "readRecord"; + // piCoutObj << "readRecord pos =" << file.pos(); logmutex.lock(); PIByteArray ba; BinLogRecord br; @@ -529,10 +529,10 @@ PIBinaryLog::BinLogRecord PIBinaryLog::readRecord() { } else { br.id = -1; logmutex.unlock(); - // piCoutObj << "readRecord done"; + // piCoutObj << "readRecord done" << br.id; return br; } - if (br.id > 0 && br.size > 0) { + if ((br.id != 0) && (br.id != -1) && (br.size > 0)) { ba.resize(br.size); if (file.read(ba.data(), ba.size_s()) > 0) br.data = ba; @@ -750,7 +750,7 @@ bool PIBinaryLog::joinBinLogsSerial(const PIStringList & src, PISystemTime st; while (!slog.isEnd()) { br = slog.readRecord(); - if (br.data.isEmpty() || br.id < 1) continue; + if (br.data.isEmpty() || br.id == 0 || br.id == -1) continue; st = br.timestamp; lt = dtime + br.timestamp; if (dlog.writeBinLog_raw(br.id, lt, br.data) <= 0) {