Add method raw_fd_ostream::seek() for random access within a file.

llvm-svn: 63044
This commit is contained in:
Ted Kremenek 2009-01-26 21:42:04 +00:00
parent 99113fd577
commit a26699211d
2 changed files with 11 additions and 1 deletions

View File

@ -181,7 +181,11 @@ public:
/// tell - Return the current offset with the file.
uint64_t tell() {
return pos + (OutBufCur - OutBufStart);
}
}
/// seek - Flushes the stream and repositions the underlying file descriptor
/// positition to the offset specified from the beginning of the file.
uint64_t seek(uint64_t off);
};
/// raw_stdout_ostream - This is a stream that always prints to stdout.

View File

@ -255,6 +255,12 @@ void raw_fd_ostream::close() {
FD = -1;
}
uint64_t raw_fd_ostream::seek(uint64_t off) {
flush();
pos = lseek(FD, off, SEEK_SET);
return pos;
}
//===----------------------------------------------------------------------===//
// raw_stdout/err_ostream
//===----------------------------------------------------------------------===//