From 436119268da41d45f95e3cf3e4a2954f114d6891 Mon Sep 17 00:00:00 2001
From: Oz Linden <oz@lindenlab.com>
Date: Thu, 11 Aug 2016 14:08:49 -0400
Subject: [PATCH] add convenience function ll_stream_notation_sd for compact
 representation of llsd

---
 indra/llcommon/llsdutil.cpp | 11 +++++++++++
 indra/llcommon/llsdutil.h   |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp
index 6ad4a971494..8ccd915e6d9 100644
--- a/indra/llcommon/llsdutil.cpp
+++ b/indra/llcommon/llsdutil.cpp
@@ -193,6 +193,17 @@ char* ll_pretty_print_sd(const LLSD& sd)
 	return buffer;
 }
 
+std::string ll_stream_notation_sd(const LLSD& sd)
+{
+	std::ostringstream stream;
+	//stream.rdbuf()->pubsetbuf(buffer, bufferSize);
+	stream << LLSDOStreamer<LLSDNotationFormatter>(sd);
+	stream << std::ends;
+
+    return stream.str();
+}
+
+
 //compares the structure of an LLSD to a template LLSD and stores the
 //"valid" values in a 3rd LLSD.  Default values pulled from the template
 //if the tested LLSD does not contain the key/value pair.
diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h
index 99cb79aa54c..01ab6bcb8d0 100644
--- a/indra/llcommon/llsdutil.h
+++ b/indra/llcommon/llsdutil.h
@@ -56,6 +56,8 @@ LL_COMMON_API char* ll_print_sd(const LLSD& sd);
 LL_COMMON_API char* ll_pretty_print_sd_ptr(const LLSD* sd);
 LL_COMMON_API char* ll_pretty_print_sd(const LLSD& sd);
 
+LL_COMMON_API std::string ll_stream_notation_sd(const LLSD& sd);
+
 //compares the structure of an LLSD to a template LLSD and stores the
 //"valid" values in a 3rd LLSD. Default values
 //are pulled from the template.  Extra keys/values in the test
-- 
GitLab