summaryrefslogtreecommitdiffstats
path: root/lldb/tools/debugserver/source/DNBDataRef.h
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2013-03-21 00:24:59 +0000
committerGreg Clayton <gclayton@apple.com>2013-03-21 00:24:59 +0000
commitc25e21c10ef857d034f1be4a5c16898e08f7c5a7 (patch)
tree3b66c2b1e21755ed1ac98d3470fd5cbdc70f0f37 /lldb/tools/debugserver/source/DNBDataRef.h
parent9be783da4598dac37ae033332d877d59c10400dd (diff)
downloadbcm5719-llvm-c25e21c10ef857d034f1be4a5c16898e08f7c5a7.tar.gz
bcm5719-llvm-c25e21c10ef857d034f1be4a5c16898e08f7c5a7.zip
Simplify the logic for DNBDataRef::ValidOffsetForDataOfSize() and DNBDataRef::ValidOffset() functions.
llvm-svn: 177615
Diffstat (limited to 'lldb/tools/debugserver/source/DNBDataRef.h')
-rw-r--r--lldb/tools/debugserver/source/DNBDataRef.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/lldb/tools/debugserver/source/DNBDataRef.h b/lldb/tools/debugserver/source/DNBDataRef.h
index fbecb7d4a76..7721f78c4a8 100644
--- a/lldb/tools/debugserver/source/DNBDataRef.h
+++ b/lldb/tools/debugserver/source/DNBDataRef.h
@@ -56,8 +56,22 @@ public:
m_swap = false;
}
- bool ValidOffset(offset_t offset) const { return (m_start < m_end) && ((uint32_t)(m_end - m_start) > offset); }
- bool ValidOffsetForDataOfSize(offset_t offset, uint32_t num_bytes) const { return (m_start < m_end) && ((uint32_t)(m_end - m_start) > (offset + ((num_bytes > 0) ? (num_bytes - 1) : 0))); }
+ offset_t BytesLeft (offset_t offset) const
+ {
+ const offset_t size = GetSize();
+ if (size > offset)
+ return size - offset;
+ return 0;
+ }
+
+ bool ValidOffset(offset_t offset) const
+ {
+ return BytesLeft(offset) > 0;
+ }
+ bool ValidOffsetForDataOfSize(offset_t offset, uint32_t num_bytes) const
+ {
+ return num_bytes <= BytesLeft (offset);
+ }
size_t GetSize() const { return m_end - m_start; }
const uint8_t * GetDataStart() const { return m_start; }
const uint8_t * GetDataEnd() const { return m_end; }
OpenPOWER on IntegriCloud