OutputFile implements read() and readx(); beware --stdout.

This commit is contained in:
John Reiser 2011-03-28 10:12:36 -07:00
parent c1d6bf4366
commit 519e3e01ae
2 changed files with 18 additions and 0 deletions

View File

@ -410,6 +410,22 @@ void OutputFile::seek(off_t off, int whence)
super::seek(off,whence);
}
int OutputFile::read(void *buf, int len)
{
InputFile infile;
infile.open(this->getName(), O_RDONLY);
infile.seek(this->tell(), SEEK_SET);
return infile.read(buf, len);
}
int OutputFile::readx(void *buf, int len)
{
InputFile infile;
infile.open(this->getName(), O_RDONLY);
infile.seek(this->tell(), SEEK_SET);
return infile.readx(buf, len);
}
void OutputFile::set_extent(off_t offset, off_t length)
{
super::set_extent(offset, length);

View File

@ -141,6 +141,8 @@ public:
// FIXME - these won't work when using the '--stdout' option
virtual void seek(off_t off, int whence);
virtual void rewrite(const void *buf, int len);
virtual int read(void *buf, int len);
virtual int readx(void *buf, int len);
// util
static void dump(const char *name, const void *buf, int len, int flags=-1);