From 0e05afdac5c8864080748f2c2c30b0743fd80d1a Mon Sep 17 00:00:00 2001
From: Richard Nelson <none@none>
Date: Wed, 6 Oct 2010 19:41:55 -0700
Subject: allow passing LLSD arguments on command line

---
 indra/llxml/llcontrol.cpp | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'indra/llxml')

diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp
index f9a39826f5..2822b767e5 100644
--- a/indra/llxml/llcontrol.cpp
+++ b/indra/llxml/llcontrol.cpp
@@ -170,6 +170,19 @@ LLSD LLControlVariable::getComparableValue(const LLSD& value)
 			storable_value = false;
 		}
 	}
+	else if (TYPE_LLSD == type() && value.isString())
+	{
+		LLPointer<LLSDNotationParser> parser = new LLSDNotationParser;
+		LLSD result;
+		if (parser->parse(std::stringstream(value.asString()), result, LLSDSerialize::SIZE_UNLIMITED) != LLSDParser::PARSE_FAILURE)
+		{
+			storable_value = result;
+		}
+		else
+		{
+			storable_value = value;
+		}
+	}
 	else
 	{
 		storable_value = value;
-- 
cgit v1.2.3