mirror of https://github.com/aria2/aria2
Made BufferedFile ctor take const char* args
parent
c63af24c63
commit
f133091a9e
|
@ -43,15 +43,19 @@
|
|||
|
||||
namespace aria2 {
|
||||
|
||||
const std::string BufferedFile::READ = "rb";
|
||||
const std::string BufferedFile::WRITE = "wb";
|
||||
const std::string BufferedFile::APPEND = "ab";
|
||||
const char BufferedFile::READ[] = "rb";
|
||||
const char BufferedFile::WRITE[] = "wb";
|
||||
const char BufferedFile::APPEND[] = "ab";
|
||||
|
||||
BufferedFile::BufferedFile(const std::string& filename, const std::string& mode)
|
||||
{
|
||||
fp_ = a2fopen(utf8ToWChar(filename).c_str(), utf8ToWChar(mode).c_str());
|
||||
open_ = fp_;
|
||||
}
|
||||
BufferedFile::BufferedFile(const char* filename, const char* mode)
|
||||
:
|
||||
#ifdef __MINGW32__
|
||||
fp_(a2fopen(utf8ToWChar(filename).c_str(), utf8ToWChar(mode).c_str)),
|
||||
#else // !__MINGW32__
|
||||
fp_(a2fopen(filename, mode)),
|
||||
#endif // !__MINGW32__
|
||||
open_(fp_)
|
||||
{}
|
||||
|
||||
BufferedFile::BufferedFile(FILE* fp)
|
||||
: fp_(fp), open_(true)
|
||||
|
|
|
@ -49,7 +49,7 @@ private:
|
|||
typedef void (BufferedFile::*unspecified_bool_type)() const;
|
||||
void good_state() const {}
|
||||
public:
|
||||
BufferedFile(const std::string& filename, const std::string& mode);
|
||||
BufferedFile(const char* filename, const char* mode);
|
||||
BufferedFile(FILE* fp);
|
||||
virtual ~BufferedFile();
|
||||
// Returns true if file is opened and ferror returns 0. Otherwise
|
||||
|
@ -78,11 +78,11 @@ public:
|
|||
// wrapper for fflush
|
||||
virtual int flush();
|
||||
// Mode for reading
|
||||
static const std::string READ;
|
||||
static const char READ[];
|
||||
// Mode for writing
|
||||
static const std::string WRITE;
|
||||
static const char WRITE[];
|
||||
// Mode for append
|
||||
static const std::string APPEND;
|
||||
static const char APPEND[];
|
||||
private:
|
||||
// Don't allow copying
|
||||
BufferedFile(const BufferedFile&);
|
||||
|
|
|
@ -360,7 +360,7 @@ bool CookieStorage::load(const std::string& filename, time_t now)
|
|||
char header[16]; // "SQLite format 3" plus \0
|
||||
size_t headlen;
|
||||
{
|
||||
BufferedFile fp(filename, BufferedFile::READ);
|
||||
BufferedFile fp(filename.c_str(), BufferedFile::READ);
|
||||
if(!fp) {
|
||||
A2_LOG_ERROR(fmt("Failed to open cookie file %s", filename.c_str()));
|
||||
return false;
|
||||
|
@ -402,7 +402,7 @@ bool CookieStorage::saveNsFormat(const std::string& filename)
|
|||
std::string tempfilename = filename;
|
||||
tempfilename += "__temp";
|
||||
{
|
||||
BufferedFile fp(tempfilename, BufferedFile::WRITE);
|
||||
BufferedFile fp(tempfilename.c_str(), BufferedFile::WRITE);
|
||||
if(!fp) {
|
||||
A2_LOG_ERROR(fmt("Cannot create cookie file %s", filename.c_str()));
|
||||
return false;
|
||||
|
|
|
@ -77,7 +77,7 @@ void DHTRoutingTableDeserializer::deserialize(const std::string& filename)
|
|||
{
|
||||
A2_LOG_INFO(fmt("Loading DHT routing table from %s.",
|
||||
filename.c_str()));
|
||||
BufferedFile fp(filename, BufferedFile::READ);
|
||||
BufferedFile fp(filename.c_str(), BufferedFile::READ);
|
||||
if(!fp) {
|
||||
throw DL_ABORT_EX(fmt("Failed to load DHT routing table from %s",
|
||||
filename.c_str()));
|
||||
|
|
|
@ -80,7 +80,7 @@ void DHTRoutingTableSerializer::serialize(const std::string& filename)
|
|||
A2_LOG_INFO(fmt("Saving DHT routing table to %s.", filename.c_str()));
|
||||
std::string filenameTemp = filename;
|
||||
filenameTemp += "__temp";
|
||||
BufferedFile fp(filenameTemp, BufferedFile::WRITE);
|
||||
BufferedFile fp(filenameTemp.c_str(), BufferedFile::WRITE);
|
||||
if(!fp) {
|
||||
throw DL_ABORT_EX(fmt("Failed to save DHT routing table to %s.",
|
||||
filename.c_str()));
|
||||
|
|
|
@ -114,7 +114,7 @@ void DefaultBtProgressInfoFile::save()
|
|||
std::string filenameTemp = filename_;
|
||||
filenameTemp += "__temp";
|
||||
{
|
||||
BufferedFile fp(filenameTemp, BufferedFile::WRITE);
|
||||
BufferedFile fp(filenameTemp.c_str(), BufferedFile::WRITE);
|
||||
if(!fp) {
|
||||
throw DL_ABORT_EX(fmt(EX_SEGMENT_FILE_WRITE, filename_.c_str()));
|
||||
}
|
||||
|
@ -212,7 +212,7 @@ void DefaultBtProgressInfoFile::save()
|
|||
void DefaultBtProgressInfoFile::load()
|
||||
{
|
||||
A2_LOG_INFO(fmt(MSG_LOADING_SEGMENT_FILE, filename_.c_str()));
|
||||
BufferedFile fp(filename_, BufferedFile::READ);
|
||||
BufferedFile fp(filename_.c_str(), BufferedFile::READ);
|
||||
if(!fp) {
|
||||
throw DL_ABORT_EX(fmt(EX_SEGMENT_FILE_READ, filename_.c_str()));
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ void Logger::openFile(const std::string& filename)
|
|||
if(filename == DEV_STDOUT) {
|
||||
fpp_ = global::cout();
|
||||
} else {
|
||||
fpp_.reset(new BufferedFile(filename, BufferedFile::APPEND));
|
||||
fpp_.reset(new BufferedFile(filename.c_str(), BufferedFile::APPEND));
|
||||
if(!*static_cast<BufferedFile*>(fpp_.get())) {
|
||||
throw DL_ABORT_EX(fmt(EX_FILE_OPEN, filename.c_str(), "n/a"));
|
||||
}
|
||||
|
|
|
@ -134,7 +134,7 @@ void skipMacdef(BufferedFile& fp)
|
|||
void Netrc::parse(const std::string& path)
|
||||
{
|
||||
authenticators_.clear();
|
||||
BufferedFile fp(path, BufferedFile::READ);
|
||||
BufferedFile fp(path.c_str(), BufferedFile::READ);
|
||||
if(!fp) {
|
||||
throw DL_ABORT_EX(fmt("Cannot open file: %s", path.c_str()));
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ bool parseNsCookie
|
|||
std::vector<Cookie> NsCookieParser::parse
|
||||
(const std::string& filename, time_t creationTime)
|
||||
{
|
||||
BufferedFile fp(filename, BufferedFile::READ);
|
||||
BufferedFile fp(filename.c_str(), BufferedFile::READ);
|
||||
if(!fp) {
|
||||
throw DL_ABORT_EX(fmt("Failed to open file %s", filename.c_str()));
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ bool ProtocolDetector::isStreamProtocol(const std::string& uri) const
|
|||
|
||||
bool ProtocolDetector::guessTorrentFile(const std::string& uri) const
|
||||
{
|
||||
BufferedFile fp(uri, BufferedFile::READ);
|
||||
BufferedFile fp(uri.c_str(), BufferedFile::READ);
|
||||
if(fp) {
|
||||
char head[1];
|
||||
if(fp.read(head, sizeof(head)) == sizeof(head)) {
|
||||
|
@ -90,7 +90,7 @@ bool ProtocolDetector::guessTorrentMagnet(const std::string& uri) const
|
|||
|
||||
bool ProtocolDetector::guessMetalinkFile(const std::string& uri) const
|
||||
{
|
||||
BufferedFile fp(uri, BufferedFile::READ);
|
||||
BufferedFile fp(uri.c_str(), BufferedFile::READ);
|
||||
if(fp) {
|
||||
char head[5];
|
||||
if(fp.read(head, sizeof(head)) == sizeof(head)) {
|
||||
|
|
|
@ -84,7 +84,7 @@ bool ServerStatMan::save(const std::string& filename) const
|
|||
std::string tempfile = filename;
|
||||
tempfile += "__temp";
|
||||
{
|
||||
BufferedFile fp(tempfile, BufferedFile::WRITE);
|
||||
BufferedFile fp(tempfile.c_str(), BufferedFile::WRITE);
|
||||
if(!fp) {
|
||||
A2_LOG_ERROR(fmt(MSG_OPENING_WRITABLE_SERVER_STAT_FILE_FAILED,
|
||||
filename.c_str()));
|
||||
|
@ -155,7 +155,7 @@ int idField(std::string::const_iterator first,
|
|||
|
||||
bool ServerStatMan::load(const std::string& filename)
|
||||
{
|
||||
BufferedFile fp(filename, BufferedFile::READ);
|
||||
BufferedFile fp(filename.c_str(), BufferedFile::READ);
|
||||
if(!fp) {
|
||||
A2_LOG_ERROR(fmt(MSG_OPENING_READABLE_SERVER_STAT_FILE_FAILED,
|
||||
filename.c_str()));
|
||||
|
|
|
@ -66,7 +66,7 @@ bool SessionSerializer::save(const std::string& filename) const
|
|||
std::string tempFilename = filename;
|
||||
tempFilename += "__temp";
|
||||
{
|
||||
BufferedFile fp(tempFilename, BufferedFile::WRITE);
|
||||
BufferedFile fp(tempFilename.c_str(), BufferedFile::WRITE);
|
||||
if(!fp) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
namespace aria2 {
|
||||
|
||||
UriListParser::UriListParser(const std::string& filename)
|
||||
: fp_(filename, BufferedFile::READ)
|
||||
: fp_(filename.c_str(), BufferedFile::READ)
|
||||
{}
|
||||
|
||||
UriListParser::~UriListParser() {}
|
||||
|
|
|
@ -224,7 +224,7 @@ void option_processing(Option& op, std::vector<std::string>& uris,
|
|||
if(File(cfname).isFile()) {
|
||||
std::stringstream ss;
|
||||
{
|
||||
BufferedFile fp(cfname, BufferedFile::READ);
|
||||
BufferedFile fp(cfname.c_str(), BufferedFile::READ);
|
||||
if(fp) {
|
||||
fp.transfer(ss);
|
||||
}
|
||||
|
|
|
@ -1328,7 +1328,7 @@ bool saveAs
|
|||
std::string tempFilename = filename;
|
||||
tempFilename += "__temp";
|
||||
{
|
||||
BufferedFile fp(tempFilename, BufferedFile::WRITE);
|
||||
BufferedFile fp(tempFilename.c_str(), BufferedFile::WRITE);
|
||||
if(!fp) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -24,16 +24,16 @@ void BufferedFileTest::testOpen()
|
|||
{
|
||||
File f(A2_TEST_OUT_DIR"/aria2_BufferedFileTest_testOpen");
|
||||
f.remove();
|
||||
BufferedFile fail(f.getPath(), BufferedFile::READ);
|
||||
BufferedFile fail(f.getPath().c_str(), BufferedFile::READ);
|
||||
CPPUNIT_ASSERT(!fail);
|
||||
|
||||
BufferedFile wr(f.getPath(), BufferedFile::WRITE);
|
||||
BufferedFile wr(f.getPath().c_str(), BufferedFile::WRITE);
|
||||
CPPUNIT_ASSERT(wr);
|
||||
std::string msg = "aria2 rules\nalpha\nbravo\ncharlie";
|
||||
wr.write(msg.data(), msg.size());
|
||||
wr.close();
|
||||
|
||||
BufferedFile rd(f.getPath(), BufferedFile::READ);
|
||||
BufferedFile rd(f.getPath().c_str(), BufferedFile::READ);
|
||||
char buf[256];
|
||||
size_t len = rd.read(buf, 11);
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)11, len);
|
||||
|
|
|
@ -79,7 +79,7 @@ void ServerStatManTest::testSave()
|
|||
CPPUNIT_ASSERT(ssm.add(localhost_ftp));
|
||||
CPPUNIT_ASSERT(ssm.add(mirror));
|
||||
|
||||
std::string filename = A2_TEST_OUT_DIR"/aria2_ServerStatManTest_testSave";
|
||||
const char* filename = A2_TEST_OUT_DIR"/aria2_ServerStatManTest_testSave";
|
||||
CPPUNIT_ASSERT(ssm.save(filename));
|
||||
CPPUNIT_ASSERT_EQUAL
|
||||
(std::string
|
||||
|
@ -111,7 +111,7 @@ void ServerStatManTest::testSave()
|
|||
|
||||
void ServerStatManTest::testLoad()
|
||||
{
|
||||
std::string filename = A2_TEST_OUT_DIR"/aria2_ServerStatManTest_testLoad";
|
||||
const char* filename = A2_TEST_OUT_DIR"/aria2_ServerStatManTest_testLoad";
|
||||
std::string in =
|
||||
"host=localhost, protocol=ftp, dl_speed=30000, last_updated=1210000001, status=OK\n"
|
||||
"host=localhost, protocol=http, dl_speed=25000, sc_avg_speed=101, mc_avg_speed=102, last_updated=1210000000, counter=6, status=OK\n"
|
||||
|
|
|
@ -1081,7 +1081,7 @@ void UtilTest::testToStream()
|
|||
std::deque<SharedHandle<FileEntry> > entries;
|
||||
entries.push_back(f1);
|
||||
entries.push_back(f2);
|
||||
std::string filename = A2_TEST_OUT_DIR"/aria2_UtilTest_testToStream";
|
||||
const char* filename = A2_TEST_OUT_DIR"/aria2_UtilTest_testToStream";
|
||||
BufferedFile fp(filename, BufferedFile::WRITE);
|
||||
util::toStream(entries.begin(), entries.end(), fp);
|
||||
fp.close();
|
||||
|
|
Loading…
Reference in New Issue