summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/slang/slang.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp
index 461d15df5..6101a5298 100644
--- a/source/slang/slang.cpp
+++ b/source/slang/slang.cpp
@@ -2867,17 +2867,24 @@ RefPtr<Module> Linkage::findOrImportModule(
//
// For example, `foo_bar` becomes `foo-bar.slang`.
- StringBuilder sb;
- for (auto c : getText(name))
+ String fileName;
+ if (!getText(name).getUnownedSlice().endsWithCaseInsensitive(".slang"))
{
- if (c == '_')
- c = '-';
+ StringBuilder sb;
+ for (auto c : getText(name))
+ {
+ if (c == '_')
+ c = '-';
- sb.Append(c);
+ sb.Append(c);
+ }
+ sb.Append(".slang");
+ fileName = sb.ProduceString();
+ }
+ else
+ {
+ fileName = getText(name);
}
- sb.Append(".slang");
-
- String fileName = sb.ProduceString();
// Next, try to find the file of the given name,
// using our ordinary include-handling logic.