summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/util.cc8
2 files changed, 6 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 74ea2e74..21c45a78 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
+ Rewritten util::mkdirs()
+ * src/util.cc
+
+2010-10-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
+
Rewritten File::mkdirs()
* src/File.cc
diff --git a/src/util.cc b/src/util.cc
index 5f0eef94..e984de25 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -1120,13 +1120,7 @@ unsigned int alphaToNum(const std::string& alphabets)
void mkdirs(const std::string& dirpath)
{
File dir(dirpath);
- if(dir.isDir()) {
- // do nothing
- } else if(dir.exists()) {
- throw DL_ABORT_EX
- (StringFormat(EX_MAKE_DIR, dir.getPath().c_str(),
- "File already exists.").str());
- } else if(!dir.mkdirs()) {
+ if(!dir.mkdirs() &&!dir.isDir()) {
throw DL_ABORT_EX
(StringFormat(EX_MAKE_DIR, dir.getPath().c_str(),
strerror(errno)).str());