~ubuntu-branches/debian/sid/clamav/sid

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/lib/Support/MemoryObject.cpp

  • Committer: Package Import Robot
  • Author(s): Andreas Cadhalpun, Andreas Cadhalpun, Sebastian Andrzej Siewior, Frans Spiesschaert
  • Date: 2014-10-15 06:50:20 UTC
  • mfrom: (1.3.13) (42.1.4 experimental)
  • Revision ID: package-import@ubuntu.com-20141015065020-0cpy1hdueggaw35s
Tags: 0.98.5~rc1+dfsg-1
[ Andreas Cadhalpun ]
* Import new upstream release candidate.
* Drop patches included upstream and update the others.
* Add 4 new symbols to libclamav6.symbols.
* Fix debian/copyright.
* Update lintian overrides.
* Update Standards-Version to 3.9.6 (no changes needed).
* Add Breaks and Replaces for old clamd package to clamdscan.
* Remove unnecessary shlibs:Depends from clamav-dbg.
* Add patches to support LLVM 3.5.

[ Sebastian Andrzej Siewior ]
* Add embedded copy of libmspack to be used as fallback, when libmspack-dev
  is not available.

[ Frans Spiesschaert ]
* Updated Dutch Debconf template translation (Closes: #763634)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//===- MemoryObject.cpp - Abstract memory interface -----------------------===//
2
 
//
3
 
//                     The LLVM Compiler Infrastructure
4
 
//
5
 
// This file is distributed under the University of Illinois Open Source
6
 
// License. See LICENSE.TXT for details.
7
 
//
8
 
//===----------------------------------------------------------------------===//
9
 
 
10
 
#include "llvm/Support/MemoryObject.h"
11
 
using namespace llvm;
12
 
  
13
 
MemoryObject::~MemoryObject() {
14
 
}
15
 
 
16
 
int MemoryObject::readBytes(uint64_t address,
17
 
                            uint64_t size,
18
 
                            uint8_t* buf,
19
 
                            uint64_t* copied) const {
20
 
  uint64_t current = address;
21
 
  uint64_t limit = getBase() + getExtent();
22
 
  
23
 
  while (current - address < size && current < limit) {
24
 
    if (readByte(current, &buf[(current - address)]))
25
 
      return -1;
26
 
    
27
 
    current++;
28
 
  }
29
 
  
30
 
  if (copied)
31
 
    *copied = current - address;
32
 
  
33
 
  return 0;
34
 
}