diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-20 14:16:56 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-20 14:16:56 +0000 | 
| commit | 2cab237b5dbfe1b3e9c7aa7a3c02d2b98fcf7462 (patch) | |
| tree | 524fe828571f81358bba62fdb6d04c6e5e96a2a4 /contrib/llvm/lib/Support/BinaryStreamRef.cpp | |
| parent | 6c7828a2807ea5e50c79ca42dbedf2b589ce63b2 (diff) | |
| parent | 044eb2f6afba375a914ac9d8024f8f5142bb912e (diff) | |
Notes
Diffstat (limited to 'contrib/llvm/lib/Support/BinaryStreamRef.cpp')
| -rw-r--r-- | contrib/llvm/lib/Support/BinaryStreamRef.cpp | 22 | 
1 files changed, 8 insertions, 14 deletions
| diff --git a/contrib/llvm/lib/Support/BinaryStreamRef.cpp b/contrib/llvm/lib/Support/BinaryStreamRef.cpp index fe9a8171e146..60a03fe9930f 100644 --- a/contrib/llvm/lib/Support/BinaryStreamRef.cpp +++ b/contrib/llvm/lib/Support/BinaryStreamRef.cpp @@ -66,9 +66,9 @@ private:  }  BinaryStreamRef::BinaryStreamRef(BinaryStream &Stream) -    : BinaryStreamRef(Stream, 0, Stream.getLength()) {} +    : BinaryStreamRefBase(Stream) {}  BinaryStreamRef::BinaryStreamRef(BinaryStream &Stream, uint32_t Offset, -                                 uint32_t Length) +                                 Optional<uint32_t> Length)      : BinaryStreamRefBase(Stream, Offset, Length) {}  BinaryStreamRef::BinaryStreamRef(ArrayRef<uint8_t> Data, endianness Endian)      : BinaryStreamRefBase(std::make_shared<ArrayRefImpl>(Data, Endian), 0, @@ -77,19 +77,16 @@ BinaryStreamRef::BinaryStreamRef(StringRef Data, endianness Endian)      : BinaryStreamRef(makeArrayRef(Data.bytes_begin(), Data.bytes_end()),                        Endian) {} -BinaryStreamRef::BinaryStreamRef(const BinaryStreamRef &Other) -    : BinaryStreamRefBase(Other) {} -  Error BinaryStreamRef::readBytes(uint32_t Offset, uint32_t Size,                                   ArrayRef<uint8_t> &Buffer) const { -  if (auto EC = checkOffset(Offset, Size)) +  if (auto EC = checkOffsetForRead(Offset, Size))      return EC;    return BorrowedImpl->readBytes(ViewOffset + Offset, Size, Buffer);  }  Error BinaryStreamRef::readLongestContiguousChunk(      uint32_t Offset, ArrayRef<uint8_t> &Buffer) const { -  if (auto EC = checkOffset(Offset, 1)) +  if (auto EC = checkOffsetForRead(Offset, 1))      return EC;    if (auto EC = @@ -98,18 +95,18 @@ Error BinaryStreamRef::readLongestContiguousChunk(    // This StreamRef might refer to a smaller window over a larger stream.  In    // that case we will have read out more bytes than we should return, because    // we should not read past the end of the current view. -  uint32_t MaxLength = Length - Offset; +  uint32_t MaxLength = getLength() - Offset;    if (Buffer.size() > MaxLength)      Buffer = Buffer.slice(0, MaxLength);    return Error::success();  }  WritableBinaryStreamRef::WritableBinaryStreamRef(WritableBinaryStream &Stream) -    : WritableBinaryStreamRef(Stream, 0, Stream.getLength()) {} +    : BinaryStreamRefBase(Stream) {}  WritableBinaryStreamRef::WritableBinaryStreamRef(WritableBinaryStream &Stream,                                                   uint32_t Offset, -                                                 uint32_t Length) +                                                 Optional<uint32_t> Length)      : BinaryStreamRefBase(Stream, Offset, Length) {}  WritableBinaryStreamRef::WritableBinaryStreamRef(MutableArrayRef<uint8_t> Data, @@ -117,13 +114,10 @@ WritableBinaryStreamRef::WritableBinaryStreamRef(MutableArrayRef<uint8_t> Data,      : BinaryStreamRefBase(std::make_shared<MutableArrayRefImpl>(Data, Endian),                            0, Data.size()) {} -WritableBinaryStreamRef::WritableBinaryStreamRef( -    const WritableBinaryStreamRef &Other) -    : BinaryStreamRefBase(Other) {}  Error WritableBinaryStreamRef::writeBytes(uint32_t Offset,                                            ArrayRef<uint8_t> Data) const { -  if (auto EC = checkOffset(Offset, Data.size())) +  if (auto EC = checkOffsetForWrite(Offset, Data.size()))      return EC;    return BorrowedImpl->writeBytes(ViewOffset + Offset, Data); | 
