summaryrefslogtreecommitdiff
path: root/src/option_processing.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-08-07 01:21:55 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-08-07 01:43:02 +0900
commit4220c2aadcc84894e838636ed952a876eb24d1fa (patch)
treef00105d06dd7444b602543efc8b59074483ae610 /src/option_processing.cc
parentb3b67f440b286962d3ceb3b8db016c0c33efebf5 (diff)
Read aria2.conf using BufferedFile
Read aria2.conf using BufferedFile. Added BufferedFile::transfer().
Diffstat (limited to 'src/option_processing.cc')
-rw-r--r--src/option_processing.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/option_processing.cc b/src/option_processing.cc
index f4894f80..905deb45 100644
--- a/src/option_processing.cc
+++ b/src/option_processing.cc
@@ -36,7 +36,6 @@
#include <cstdlib>
#include <cstring>
-#include <fstream>
#include <sstream>
#include <iostream>
@@ -56,6 +55,7 @@
#include "error_code.h"
#include "SimpleRandomizer.h"
#include "bittorrent_helper.h"
+#include "BufferedFile.h"
#ifndef HAVE_DAEMON
#include "daemon.h"
#endif // !HAVE_DAEMON
@@ -133,9 +133,15 @@ void option_processing(Option& op, std::vector<std::string>& uris,
ucfname;
if(File(cfname).isFile()) {
- std::ifstream cfstream(cfname.c_str(), std::ios::binary);
+ std::stringstream ss;
+ {
+ BufferedFile fp(cfname, BufferedFile::READ);
+ if(fp) {
+ fp.transfer(ss);
+ }
+ }
try {
- oparser.parse(op, cfstream);
+ oparser.parse(op, ss);
} catch(OptionHandlerException& e) {
std::cerr << "Parse error in " << cfname << "\n"
<< e.stackTrace() << std::endl;