From a5dbc2471ca65396ece3f0f17ebbbd16f62d2411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=9F=B3=E5=A4=B4?= Date: Wed, 20 Sep 2017 00:17:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8D=E6=98=AFA=E5=8F=B3=E8=BE=B9=E5=B0=8F?= =?UTF-8?q?=E4=BA=8E=E7=AD=89=E4=BA=8EB=E5=B7=A6=E8=BE=B9=EF=BC=8C?= =?UTF-8?q?=E4=B8=94=E4=B8=8D=E6=98=AFA=E5=B7=A6=E8=BE=B9=E5=A4=A7?= =?UTF-8?q?=E4=BA=8E=E7=AD=89=E4=BA=8EB=E5=8F=B3=E8=BE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Message/DataStore.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Message/DataStore.cpp b/Message/DataStore.cpp index 5b00bb01..90b6e5d6 100644 --- a/Message/DataStore.cpp +++ b/Message/DataStore.cpp @@ -151,8 +151,14 @@ bool Area::In(uint start, uint len) bool Area::Any(uint start, uint len) { // 只要搭边就算数 - //return start <= Offset + Size && start + len >= Offset; - return !(Offset > start + len - 1 || Offset + Size < start); + // start <= A < start + len + // Offset <= B < Offset + Size + + // A左边小于B右边,且A右边大于B左边 + //return start < Offset + Size && start + len > Offset; + + // 不是A右边小于等于B左边,且不是A左边大于等于B右边 + return !(Offset >= start + len || Offset + Size <= start); } /****************************** 数据操作接口 ************************************/