Browse Source

fix make_dir when filename ends in '/.'

David Rose 19 years ago
parent
commit
b06643e9b1
1 changed files with 6 additions and 5 deletions
  1. 6 5
      dtool/src/dtoolutil/filename.cxx

+ 6 - 5
dtool/src/dtoolutil/filename.cxx

@@ -1836,18 +1836,19 @@ make_dir() const {
   if (empty()) {
   if (empty()) {
     return false;
     return false;
   }
   }
-  Filename path = *this;
-  path.standardize();
-  string dirname;
+  Filename path;
   if (_filename[_filename.length() - 1] == '/') {
   if (_filename[_filename.length() - 1] == '/') {
     // The Filename ends in a slash; it represents a directory.
     // The Filename ends in a slash; it represents a directory.
-    dirname = path.get_fullpath();
+    path = (*this);
 
 
   } else {
   } else {
     // The Filename does not end in a slash; it represents a file.
     // The Filename does not end in a slash; it represents a file.
-    dirname = path.get_dirname();
+    path = get_dirname();
   }
   }
 
 
+  path.standardize();
+  string dirname = path.get_fullpath();
+
   // First, make sure everything up to the last path is known.  We
   // First, make sure everything up to the last path is known.  We
   // don't care too much if any of these fail; maybe they failed
   // don't care too much if any of these fail; maybe they failed
   // because the directory was already there.
   // because the directory was already there.