aboutsummaryrefslogtreecommitdiff
path: root/src/modules.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2020-12-24 22:36:43 +0000
committerGravatar Sadie Powell2020-12-24 22:36:43 +0000
commitc88af976ff4ff0564db5d7c221e2888df4dfe0a9 (patch)
treee040cd6729c68b1e0d30d4c179661c410a58fe2f /src/modules.cpp
parentMerge branch 'insp3' into master. (diff)
Add a function for shrinking module names.
Diffstat (limited to 'src/modules.cpp')
-rw-r--r--src/modules.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules.cpp b/src/modules.cpp
index 152ac2109..0ed1660b6 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -652,6 +652,14 @@ std::string ModuleManager::ExpandModName(const std::string& modname)
return fullname;
}
+std::string ModuleManager::ShrinkModName(const std::string& modname)
+{
+ const static size_t extlen = strlen(DLL_EXTENSION);
+ size_t startpos = modname.compare(0, 2, "m_", 2) ? 0 : 2;
+ size_t endpos = modname.length() < extlen || modname.compare(modname.length() - extlen, extlen, ".so", extlen) ? 0 : extlen;
+ return modname.substr(startpos, modname.length() - endpos - startpos);
+}
+
dynamic_reference_base::dynamic_reference_base(Module* Creator, const std::string& Name)
: name(Name)
, creator(Creator)