mirror of https://github.com/aria2/aria2
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten Signature::save() * src/Signature.ccpull/1/head
parent
65906c07fe
commit
f4a533846d
|
@ -1,3 +1,8 @@
|
||||||
|
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Rewritten Signature::save()
|
||||||
|
* src/Signature.cc
|
||||||
|
|
||||||
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Rewritten stream error handling
|
Rewritten stream error handling
|
||||||
|
|
|
@ -64,15 +64,20 @@ bool Signature::save(const std::string& filepath) const
|
||||||
if(File(filepath).exists()) {
|
if(File(filepath).exists()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
std::ofstream out(filepath.c_str(), std::ios::binary);
|
std::string tempFilepath = filepath;
|
||||||
try {
|
tempFilepath += "__temp";
|
||||||
out.exceptions(std::ios::failbit);
|
{
|
||||||
|
std::ofstream out(tempFilepath.c_str(), std::ios::binary);
|
||||||
|
if(!out) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
out << _body;
|
out << _body;
|
||||||
out.close();
|
out.flush();
|
||||||
return true;
|
if(!out) {
|
||||||
} catch(const std::ios::failure& exception) {
|
return false;
|
||||||
return false;
|
}
|
||||||
}
|
}
|
||||||
|
return File(tempFilepath).renameTo(filepath);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace aria2
|
} // namespace aria2
|
||||||
|
|
Loading…
Reference in New Issue