]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/util.hxx
apt.dat parser: clearer log and exception messages
[flightgear.git] / src / Main / util.hxx
index 5172ca23e12be59494122c3444fe62fdda68617b..f078d0fdb3c3860b9a3d83b139137d4e6cad9cb3 100644 (file)
@@ -21,6 +21,7 @@
 #define __UTIL_HXX 1
 
 #include <string>
+#include <simgear/misc/sg_path.hxx>
 
 /**
  * Move a value towards a target.
 double fgGetLowPass (double current, double target, double timeratio);
 
 /**
- * Validation listener interface for io.nas, used by fgcommands.
+ * File access control, used by Nasal and fgcommands.
  * @param path Path to be validated
  * @param write True for write operations and false for read operations.
- * @return The validated path on success or 0 if access denied.
+ * @return The validated path on success or empty if access denied.
+ *
+ * Warning: because this always (not just on Windows) treats both \ and /
+ * as path separators, and accepts relative paths (check-to-use race if
+ * the current directory changes),
+ * always use the returned path not the original one
  */
-const char *fgValidatePath (const char *path, bool write);
+std::string fgValidatePath(const SGPath& path, bool write);
 std::string fgValidatePath(const std::string& path, bool write);
 
+/**
+ * Set allowed paths for fgValidatePath
+ */
+void fgInitAllowedPaths();
+
 #endif // __UTIL_HXX