diff options
-rw-r--r-- | indra/llmessage/llservicebuilder.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/llmessage/llservicebuilder.cpp b/indra/llmessage/llservicebuilder.cpp index a3e6ee479b..d5c6014140 100644 --- a/indra/llmessage/llservicebuilder.cpp +++ b/indra/llmessage/llservicebuilder.cpp @@ -134,6 +134,9 @@ std::string LLServiceBuilder::buildServiceURI( std::string::iterator end(service_url.end()); std::string::iterator deepest_node(service_url.end()); std::string::iterator deepest_node_end(service_url.end()); + //parse out the variables to replace by going through {}s one at a time, + // starting with the "deepest" in series {{}}, + // and otherwise replacing right-to-left for(; iter != end; ++iter) { switch(*iter) @@ -163,7 +166,7 @@ std::string LLServiceBuilder::buildServiceURI( { break; } - + //replace the variable we found in the {} above. // *NOTE: since the c++ implementation only understands // params and straight string substitution, so it's a // known distance of 2 to skip the directive. @@ -181,7 +184,7 @@ std::string LLServiceBuilder::buildServiceURI( } else { - llinfos << "Unknown key: " << key << llendl; + llwarns << "Unknown key: " << key << " in option map: " << LLSDOStreamer<LLSDNotationFormatter>(option_map) << llendl; keep_looping = false; } break; |