From c9436219a0f27aed5f261e7a34d309c5455a61fb Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 25 Jul 2026 16:28:09 +0300 Subject: [PATCH] =?UTF-8?q?db=5Fsync:=20fix=20synced=5Fpos=20overwrite=20i?= =?UTF-8?q?n=20SYNC=5FDONE=20=E2=80=94=20use=20max=20to=20preserve=20total?= =?UTF-8?q?=5Fprocessed=20advance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/db_sync.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/db_sync.c b/src/db_sync.c index 2f3c0768..1dc8d1f1 100644 --- a/src/db_sync.c +++ b/src/db_sync.c @@ -1052,7 +1052,7 @@ static void db_handle_send_data(struct DB_SYNC_INSTANCE* si, uint64_t src, const uint8_t sd[13]; sd[0] = DB_MSG_SYNC_DONE; memcpy(sd + 1, &mc, 4); memcpy(sd + 5, &lch8, 8); db_sync_send(si, src, sd, 13); - if (sp) { sp->synced_pos = mc > 0 ? mc - 1 : 0; sp->sync_state = 2; sp->sync_start_tb = 0; } + if (sp) { uint32_t nsp = mc > 0 ? mc - 1 : 0; if (sp->synced_pos < nsp) sp->synced_pos = nsp; sp->sync_state = 2; sp->sync_start_tb = 0; } DEBUG_INFO(DEBUG_CATEGORY_DB_SYNC, "sync [%s:%04llX] → SYNC_DONE: fc=%u ch8=%016llX synced=%u⇥2", SI_SHRT(si), (unsigned long long)(src >> 16), mc, lch8, sp ? sp->synced_pos : 0); }