]> git.mxchange.org Git - flightgear.git/commitdiff
Make fgLoadProps more flexible, to read from $FG_ROOT or the current
authordavid <david>
Tue, 21 Jan 2003 02:08:00 +0000 (02:08 +0000)
committerdavid <david>
Tue, 21 Jan 2003 02:08:00 +0000 (02:08 +0000)
directory.

src/Main/fg_props.cxx
src/Main/fg_props.hxx

index 5a2460c3ba381f3a73b5bed2c56a54bfcd4e8433..23c51dd3cc3acd64d429da416cdf6255de0f102c 100644 (file)
@@ -683,12 +683,25 @@ fgLoadFlight (istream &input)
 }
 
 
-void
-fgLoadProps (const char * path, SGPropertyNode * props)
-{
-    SGPath loadpath(globals->get_fg_root());
-    loadpath.append(path);
-    readProperties(loadpath.c_str(), props);
+bool
+fgLoadProps (const char * path, SGPropertyNode * props, bool in_fg_root)
+{
+    string fullpath;
+    if (in_fg_root) {
+        SGPath loadpath(globals->get_fg_root());
+        loadpath.append(path);
+        fullpath = loadpath.str();
+    } else {
+        fullpath = path;
+    }
+
+    try {
+        readProperties(fullpath, props);
+    } catch (const sg_exception &e) {
+        guiErrorMessage("Error reading properties: ", e);
+        return false;
+    }
+    return true;
 }
 
 
index 0e5f311ac34706f844b2e34467d6616225e01f83..4a58229970adf016f832012c841c1b16848a60db 100644 (file)
@@ -65,11 +65,18 @@ extern bool fgLoadFlight (istream &input);
 
 
 /**
- * Load properties from a file relative to $FG_ROOT.
- *
- * @param file The file name relative to $FG_ROOT.
- */
-extern void fgLoadProps (const char * path, SGPropertyNode * props);
+ * Load properties from a file.
+ *
+ * @param file The relative or absolute filename.
+ * @param props The property node to load the properties into.
+ * @param in_fg_root If true, look for the file relative to
+ *        $FG_ROOT; otherwise, look for the file relative to the
+ *        current working directory.
+ * @return true if the properties loaded successfully, false
+ *         otherwise.
+ */
+extern bool fgLoadProps (const char * path, SGPropertyNode * props,
+                         bool in_fg_root = true);
 
 
 \f