summaryrefslogtreecommitdiffstats
path: root/lldb/source/Host/common/FileSpec.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2013-04-20 00:23:26 +0000
committerGreg Clayton <gclayton@apple.com>2013-04-20 00:23:26 +0000
commitd398a1c5b7f369579697886562fa860ab1d22d06 (patch)
tree366382ad99fb5db01f0aa1d8445d490fb0779055 /lldb/source/Host/common/FileSpec.cpp
parente80691dc0aa7cc785326919a64b461667390ce6e (diff)
downloadbcm5719-llvm-d398a1c5b7f369579697886562fa860ab1d22d06.tar.gz
bcm5719-llvm-d398a1c5b7f369579697886562fa860ab1d22d06.zip
Fixed being able to mmap an entire file by letting the default args "do the right thing".
llvm-svn: 179909
Diffstat (limited to 'lldb/source/Host/common/FileSpec.cpp')
-rw-r--r--lldb/source/Host/common/FileSpec.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lldb/source/Host/common/FileSpec.cpp b/lldb/source/Host/common/FileSpec.cpp
index beeb63da6b0..5edec81a7d9 100644
--- a/lldb/source/Host/common/FileSpec.cpp
+++ b/lldb/source/Host/common/FileSpec.cpp
@@ -747,7 +747,8 @@ FileSpec::MemoryMapFileContents(off_t file_offset, size_t file_size) const
std::unique_ptr<DataBufferMemoryMap> mmap_data(new DataBufferMemoryMap());
if (mmap_data.get())
{
- if (mmap_data->MemoryMapFromFileSpec (this, file_offset, file_size) >= file_size)
+ const size_t mapped_length = mmap_data->MemoryMapFromFileSpec (this, file_offset, file_size);
+ if (((file_size == SIZE_MAX) && (mapped_length > 0)) || (mapped_length >= file_size))
data_sp.reset(mmap_data.release());
}
return data_sp;
OpenPOWER on IntegriCloud