From 18eb8ac90ce409ba620f6fe8ff487e6195d9c3eb Mon Sep 17 00:00:00 2001
From: "Michael Pohoreski (Ptolemy Linden)" <ptolemy@lindenlab.com>
Date: Fri, 15 Nov 2019 15:45:08 -0800
Subject: [PATCH] QoL fix: remove extra blank lines for every source line when
 dumping shader source

---
 indra/llrender/llshadermgr.cpp | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp
index bce3720d3b1..dcb34c67614 100644
--- a/indra/llrender/llshadermgr.cpp
+++ b/indra/llrender/llshadermgr.cpp
@@ -570,9 +570,20 @@ static std::string get_object_log(GLhandleARB ret)
 //dump shader source for debugging
 void LLShaderMgr::dumpShaderSource(U32 shader_code_count, GLcharARB** shader_code_text)
 {	
-	for (GLuint i = 0; i < shader_code_count; i++)
+	for (U32 i = 0; i < shader_code_count; i++)
 	{
+		GLcharARB *line = shader_code_text[i];
+		size_t     len  = strlen( line );
+		char       last = len > 0 ? line[len - 1] : 0;
+
+		// LL_ENDL already outputs a newline so temporarily strip off the end newline to prevent EVERY line outputting an (extra) blank line
+		if (last == '\n')
+		    line[len - 1] = 0;
+
 		LL_SHADER_LOADING_WARNS() << i << ": " << shader_code_text[i] << LL_ENDL;
+
+		if (last == '\n')
+			line[len - 1] = '\n';
 	}
     LL_SHADER_LOADING_WARNS() << LL_ENDL;
 }
-- 
GitLab