summaryrefslogtreecommitdiff
path: root/indra/llprimitive/llmodelloader.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2016-09-02 14:34:06 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2016-09-02 14:34:06 -0400
commita2875ba53ec02235a0db5734264108c0f0898269 (patch)
treef9dc66183550cda2c3478f72fa7018094da3cd19 /indra/llprimitive/llmodelloader.cpp
parent227eb6c4a49724fe513f5d67af68d355d173f951 (diff)
parentd07a8b9965b54fca34b239a51af46b996a58d553 (diff)
merge
Diffstat (limited to 'indra/llprimitive/llmodelloader.cpp')
-rw-r--r--indra/llprimitive/llmodelloader.cpp30
1 files changed, 22 insertions, 8 deletions
diff --git a/indra/llprimitive/llmodelloader.cpp b/indra/llprimitive/llmodelloader.cpp
index 816ebc558a..4e468ff45f 100644
--- a/indra/llprimitive/llmodelloader.cpp
+++ b/indra/llprimitive/llmodelloader.cpp
@@ -150,6 +150,23 @@ void LLModelLoader::run()
doOnIdleOneTime(boost::bind(&LLModelLoader::loadModelCallback,this));
}
+// static
+bool LLModelLoader::getSLMFilename(const std::string& model_filename, std::string& slm_filename)
+{
+ slm_filename = model_filename;
+
+ std::string::size_type i = model_filename.rfind(".");
+ if (i != std::string::npos)
+ {
+ slm_filename.replace(i, model_filename.size()-1, ".slm");
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
bool LLModelLoader::doLoadModel()
{
//first, look for a .slm file of the same name that was modified later
@@ -157,20 +174,17 @@ bool LLModelLoader::doLoadModel()
if (mTrySLM)
{
- std::string filename = mFilename;
-
- std::string::size_type i = filename.rfind(".");
- if (i != std::string::npos)
- {
- filename.replace(i, filename.size()-1, ".slm");
+ std::string slm_filename;
+ if (getSLMFilename(mFilename, slm_filename))
+ {
llstat slm_status;
- if (LLFile::stat(filename, &slm_status) == 0)
+ if (LLFile::stat(slm_filename, &slm_status) == 0)
{ //slm file exists
llstat dae_status;
if (LLFile::stat(mFilename, &dae_status) != 0 ||
dae_status.st_mtime < slm_status.st_mtime)
{
- if (loadFromSLM(filename))
+ if (loadFromSLM(slm_filename))
{ //slm successfully loaded, if this fails, fall through and
//try loading from dae