summaryrefslogtreecommitdiff
path: root/lib/Support/StringRefMemoryObject.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-05-24 10:54:58 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-05-24 10:54:58 +0000
commit49a6a8d8f2994249c81b7914b07015714748a55c (patch)
treec14f72e8279f110e51baad10fbe21e62776a5e47 /lib/Support/StringRefMemoryObject.cpp
parent35b2a7a54588e17e4de655bfb29c57d072f19904 (diff)
downloadllvm-49a6a8d8f2994249c81b7914b07015714748a55c.tar.gz
llvm-49a6a8d8f2994249c81b7914b07015714748a55c.tar.bz2
llvm-49a6a8d8f2994249c81b7914b07015714748a55c.tar.xz
Remove the Copied parameter from MemoryObject::readBytes.
There was exactly one caller using this API right, the others were relying on specific behavior of the default implementation. Since it's too hard to use it right just remove it and standardize on the default behavior. Defines away PR16132. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182636 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/StringRefMemoryObject.cpp')
-rw-r--r--lib/Support/StringRefMemoryObject.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/lib/Support/StringRefMemoryObject.cpp b/lib/Support/StringRefMemoryObject.cpp
index 5db11e918c..e035ed1d2e 100644
--- a/lib/Support/StringRefMemoryObject.cpp
+++ b/lib/Support/StringRefMemoryObject.cpp
@@ -20,15 +20,10 @@ int StringRefMemoryObject::readByte(uint64_t Addr, uint8_t *Byte) const {
int StringRefMemoryObject::readBytes(uint64_t Addr,
uint64_t Size,
- uint8_t *Buf,
- uint64_t *Copied) const {
- if (Addr >= Base + getExtent() || Addr < Base)
- return -1;
+ uint8_t *Buf) const {
uint64_t Offset = Addr - Base;
- if (Size > getExtent() - Offset)
- Size = getExtent() - Offset;
+ if (Addr >= Base + getExtent() || Offset + Size > getExtent() || Addr < Base)
+ return -1;
memcpy(Buf, Bytes.data() + Offset, Size);
- if (Copied)
- *Copied = Size;
return 0;
}