diff options
Diffstat (limited to 'OpenSim/Region/Application')
-rw-r--r-- | OpenSim/Region/Application/ConfigurationLoader.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Region/Application/ConfigurationLoader.cs b/OpenSim/Region/Application/ConfigurationLoader.cs index 09f7bea..e69e3fc 100644 --- a/OpenSim/Region/Application/ConfigurationLoader.cs +++ b/OpenSim/Region/Application/ConfigurationLoader.cs | |||
@@ -211,7 +211,17 @@ namespace OpenSim | |||
211 | else | 211 | else |
212 | { | 212 | { |
213 | string basepath = Path.GetFullPath(Util.configDir()); | 213 | string basepath = Path.GetFullPath(Util.configDir()); |
214 | string path = Path.Combine(basepath, file); | 214 | // Resolve relative paths with wildcards |
215 | string chunkWithoutWildcards = file; | ||
216 | string chunkWithWildcards = string.Empty; | ||
217 | int wildcardIndex = file.IndexOfAny(new char[] { '*', '?' }); | ||
218 | if (wildcardIndex != -1) | ||
219 | { | ||
220 | chunkWithoutWildcards = file.Substring(0, wildcardIndex); | ||
221 | chunkWithWildcards = file.Substring(wildcardIndex); | ||
222 | } | ||
223 | string path = Path.Combine(basepath, chunkWithoutWildcards); | ||
224 | path = Path.GetFullPath(path) + chunkWithWildcards; | ||
215 | string[] paths = Util.Glob(path); | 225 | string[] paths = Util.Glob(path); |
216 | foreach (string p in paths) | 226 | foreach (string p in paths) |
217 | { | 227 | { |