diff options
Diffstat (limited to 'src/BufferedFile.cc')
| -rw-r--r-- | src/BufferedFile.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/BufferedFile.cc b/src/BufferedFile.cc index 078acb27..080d251d 100644 --- a/src/BufferedFile.cc +++ b/src/BufferedFile.cc @@ -35,6 +35,7 @@ #include "BufferedFile.h" #include <cstring> +#include <ostream> #include "a2io.h" #include "util.h" @@ -102,4 +103,19 @@ bool BufferedFile::eof() return open_ && feof(fp_); } +size_t BufferedFile::transfer(std::ostream& out) +{ + size_t count = 0; + char buf[4096]; + while(1) { + size_t r = this->read(buf, sizeof(buf)); + out.write(buf, r); + count += r; + if(r < sizeof(buf)) { + break; + } + } + return count; +} + } // namespace aria2 |
