diff options
Diffstat (limited to 'src/BufferedFile.cc')
| -rw-r--r-- | src/BufferedFile.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/BufferedFile.cc b/src/BufferedFile.cc index 080d251d..812704c9 100644 --- a/src/BufferedFile.cc +++ b/src/BufferedFile.cc @@ -35,6 +35,7 @@ #include "BufferedFile.h" #include <cstring> +#include <cstdarg> #include <ostream> #include "a2io.h" @@ -44,6 +45,7 @@ namespace aria2 { const std::string BufferedFile::READ = "rb"; const std::string BufferedFile::WRITE = "wb"; +const std::string BufferedFile::APPEND = "ab"; BufferedFile::BufferedFile(const std::string& filename, const std::string& mode) { @@ -51,6 +53,10 @@ BufferedFile::BufferedFile(const std::string& filename, const std::string& mode) open_ = fp_; } +BufferedFile::BufferedFile(FILE* fp) + : fp_(fp), open_(true) +{} + BufferedFile::~BufferedFile() { close(); @@ -118,4 +124,18 @@ size_t BufferedFile::transfer(std::ostream& out) return count; } +int BufferedFile::printf(const char* format, ...) +{ + va_list ap; + va_start(ap, format); + int r = vfprintf(fp_, format, ap); + va_end(ap); + return r; +} + +int BufferedFile::flush() +{ + return fflush(fp_); +} + } // namespace aria2 |
