]> git.mxchange.org Git - simgear.git/commitdiff
Nicolas: let SGPath::create_dir() return success/failure (for screenshot)
authormfranz <mfranz>
Sat, 26 Apr 2008 15:25:29 +0000 (15:25 +0000)
committermfranz <mfranz>
Sat, 26 Apr 2008 15:25:29 +0000 (15:25 +0000)
simgear/misc/sg_path.cxx
simgear/misc/sg_path.hxx

index ce466142d163aaed77c6c640ea0b0d504b47278a..f5c7a8c8cf302aca81670c35f018b863dde3cc50 100644 (file)
@@ -165,7 +165,7 @@ string SGPath::base() const {
     }
 }
 
-// get the extention (everything after the final ".")
+// get the extension (everything after the final ".")
 // but make sure no "/" follows the "." character (otherwise it
 // is has to be a directory name containing a ".").
 string SGPath::extension() const {
@@ -193,10 +193,10 @@ bool SGPath::exists() const {
 #endif
 
 
-void SGPath::create_dir( mode_t mode ) {
+int SGPath::create_dir( mode_t mode ) {
     string_list dirlist = sgPathSplit(dir());
     if ( dirlist.empty() )
-        return;
+        return -1;
     string path = dirlist[0];
     string_list path_elements = sgPathBranchSplit(path);
     bool absolute = !path.empty() && path[0] == sgDirPathSep;
@@ -216,19 +216,21 @@ void SGPath::create_dir( mode_t mode ) {
         dir.append(path_elements[i]);
     }
     if ( r == 0 ) {
-        return; // Directory already exists
+        return 0; // Directory already exists
     }
     if ( sgMkDir( dir.c_str(), mode) ) {
         SG_LOG( SG_IO, SG_ALERT, "Error creating directory: " + dir.str() );
-        return;
+        return -2;
     }
-    for(;i < path_elements.size(); i++) {
+    for(; i < path_elements.size(); i++) {
         dir.append(path_elements[i]);
         if ( sgMkDir( dir.c_str(), mode) ) {
             SG_LOG( SG_IO, SG_ALERT, "Error creating directory: " + dir.str() );
-            break;
+            return -2;
         }
     }
+
+    return 0;
 }
 
 string_list sgPathBranchSplit( const string &dirpath ) {
index e48e056476b080a227c6952efcd1bae3cb80a980..a0636085507c0fb120c05c41c55f2aede3d55494 100644 (file)
@@ -91,7 +91,7 @@ public:
     /**
      * Concatenate a string to the end of the path without inserting a
      * path separator.
-     * @param p addtional path suffix
+     * @param p additional path suffix
      */
     void concat( const string& p );
 
@@ -114,8 +114,8 @@ public:
     string base() const;
 
     /**
-     * Get the extention part of the path (everything after the final ".")
-     * @return the extention string
+     * Get the extension part of the path (everything after the final ".")
+     * @return the extension string
      */
     string extension() const;
 
@@ -139,8 +139,9 @@ public:
 
     /**
      * Create the designated directory.
+     * @return 0 on success, or <0 on failure.
      */
-    void create_dir(mode_t mode);
+    int create_dir(mode_t mode);
 
 private: