From 916e3bf886ee622e2f18d6eb74f90fee8c630471 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 11 Jul 2012 22:54:22 +0100
Subject: Where possible, use the system Encoding.ASCII and Encoding.UTF8
 rather than constructing fresh copies.

The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
---
 .../CoreModules/World/Archiver/AssetsDearchiver.cs    |  2 --
 .../CoreModules/World/Terrain/FileLoaders/Terragen.cs |  2 +-
 .../Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs    |  3 +--
 .../XmlRpcGroupsServicesConnectorModule.cs            |  3 +--
 .../Scripting/JsonStore/JsonStoreScriptModule.cs      |  7 +++----
 .../OptionalModules/Scripting/Minimodule/MRMModule.cs |  5 +----
 .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs |  8 ++------
 .../Shared/Api/Implementation/OSSL_Api.cs             |  3 +--
 .../Region/ScriptEngine/Shared/CodeTools/Compiler.cs  |  8 +++-----
 .../ScriptEngine/Shared/Instance/ScriptInstance.cs    | 19 ++++++++-----------
 OpenSim/Region/ScriptEngine/XEngine/XEngine.cs        |  2 +-
 11 files changed, 22 insertions(+), 40 deletions(-)

(limited to 'OpenSim/Region')

diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsDearchiver.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsDearchiver.cs
index 2c04008..8c0ef88 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/AssetsDearchiver.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsDearchiver.cs
@@ -46,8 +46,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
     {
         private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
 
-        protected static ASCIIEncoding m_asciiEncoding = new ASCIIEncoding();
-
         /// <summary>
         /// Store for asset data we received before we get the metadata
         /// </summary>
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/Terragen.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/Terragen.cs
index 7a0db26..b5c7d33 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/Terragen.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/Terragen.cs
@@ -252,7 +252,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
             if (horizontalScale < 0.01d)
                 horizontalScale = 0.01d;
 
-            System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
+            Encoding enc = Encoding.ASCII;
 
             bs.Write(enc.GetBytes("TERRAGENTERRAIN "));
 
diff --git a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
index be8873d..7fafdc6 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Voice/FreeSwitchVoice/FreeSwitchVoiceModule.cs
@@ -823,11 +823,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.Voice.FreeSwitchVoice
                 m_log.DebugFormat("[FreeSwitchVoice]: Region:Parcel \"{0}\": parcel id {1}: using channel name {2}",
                                   landName, land.LocalID, landUUID);
             }
-            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
 
             // slvoice handles the sip address differently if it begins with confctl, hiding it from the user in the friends list. however it also disables
             // the personal speech indicators as well unless some siren14-3d codec magic happens. we dont have siren143d so we'll settle for the personal speech indicator.
-            channelUri = String.Format("sip:conf-{0}@{1}", "x" + Convert.ToBase64String(encoding.GetBytes(landUUID)), m_freeSwitchRealm);
+            channelUri = String.Format("sip:conf-{0}@{1}", "x" + Convert.ToBase64String(Encoding.ASCII.GetBytes(landUUID)), m_freeSwitchRealm);
 
             lock (m_ParcelAddress)
             {
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
index 52fc27d..61aaf04 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs
@@ -1120,7 +1120,6 @@ namespace Nwc.XmlRpc
     /// <summary>Class supporting the request side of an XML-RPC transaction.</summary>
     public class ConfigurableKeepAliveXmlRpcRequest : XmlRpcRequest
     {
-        private Encoding _encoding = new ASCIIEncoding();
         private XmlRpcRequestSerializer _serializer = new XmlRpcRequestSerializer();
         private XmlRpcResponseDeserializer _deserializer = new XmlRpcResponseDeserializer();
         private bool _disableKeepAlive = true;
@@ -1153,7 +1152,7 @@ namespace Nwc.XmlRpc
             request.KeepAlive = !_disableKeepAlive;
 
             Stream stream = request.GetRequestStream();
-            XmlTextWriter xml = new XmlTextWriter(stream, _encoding);
+            XmlTextWriter xml = new XmlTextWriter(stream, Encoding.ASCII);
             _serializer.Serialize(xml, this);
             xml.Flush();
             xml.Close();
diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
index 4949097..eaba816 100644
--- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs
@@ -425,10 +425,9 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
 
             try 
             {
-                System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
-                string jsondata = SLUtil.ParseNotecardToString(enc.GetString(a.Data));
-                int result = m_store.SetValue(storeID,path,jsondata,true) ? 1 : 0;
-                m_comms.DispatchReply(scriptID,result,"",reqID.ToString());
+                string jsondata = SLUtil.ParseNotecardToString(Encoding.UTF8.GetString(a.Data));
+                int result = m_store.SetValue(storeID, path, jsondata,true) ? 1 : 0;
+                m_comms.DispatchReply(scriptID,result, "", reqID.ToString());
                 return;
             }
             catch (Exception e)
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
index 74f5208..03481d2 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
@@ -482,10 +482,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
             // Convert to base64
             //
             string filetext = Convert.ToBase64String(data);
-
-            ASCIIEncoding enc = new ASCIIEncoding();
-
-            Byte[] buf = enc.GetBytes(filetext);
+            Byte[] buf = Encoding.ASCII.GetBytes(filetext);
 
             m_log.Info("MRM 9");
 
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 0a25454..0ebcd8d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -10536,9 +10536,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                     return;
                 }
 
-                System.Text.UTF8Encoding enc =
-                    new System.Text.UTF8Encoding();
-                string data = enc.GetString(a.Data);
+                string data = Encoding.UTF8.GetString(a.Data);
                 //m_log.Debug(data);
                 NotecardCache.Cache(id, data);
                 AsyncCommands.
@@ -10591,9 +10589,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                                  return;
                              }
 
-                             System.Text.UTF8Encoding enc =
-                                 new System.Text.UTF8Encoding();
-                             string data = enc.GetString(a.Data);
+                             string data = Encoding.UTF8.GetString(a.Data);
                              //m_log.Debug(data);
                              NotecardCache.Cache(id, data);
                              AsyncCommands.DataserverPlugin.DataserverReply(id.ToString(),
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index e90f577..cfa08c2 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -1811,8 +1811,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                 if (a == null)
                     return UUID.Zero;
 
-                System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
-                string data = enc.GetString(a.Data);
+                string data = Encoding.UTF8.GetString(a.Data);
                 NotecardCache.Cache(assetID, data);
             };
 
diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
index 8f2ec49..17a0d69 100644
--- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs
@@ -31,6 +31,7 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.Reflection;
 using System.IO;
+using System.Text;
 using Microsoft.CSharp;
 //using Microsoft.JScript;
 using Microsoft.VisualBasic;
@@ -711,9 +712,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
             //
             string filetext = System.Convert.ToBase64String(data);
 
-            System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
-
-            Byte[] buf = enc.GetBytes(filetext);
+            Byte[] buf = Encoding.ASCII.GetBytes(filetext);
 
             FileStream sfs = File.Create(assembly + ".text");
             sfs.Write(buf, 0, buf.Length);
@@ -804,8 +803,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools
                 mapstring += String.Format("{0},{1},{2},{3}\n", k.Key, k.Value, v.Key, v.Value);
             }
 
-            System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
-            Byte[] mapbytes = enc.GetBytes(mapstring);
+            Byte[] mapbytes = Encoding.ASCII.GetBytes(mapstring);
             FileStream mfs = File.Create(filename);
             mfs.Write(mapbytes, 0, mapbytes.Length);
             mfs.Close();
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
index 306090e..1c0cac7 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
@@ -26,15 +26,16 @@
  */
 
 using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Globalization;
 using System.IO;
+using System.Reflection;
 using System.Runtime.Remoting;
 using System.Runtime.Remoting.Lifetime;
-using System.Threading;
-using System.Collections;
-using System.Collections.Generic;
 using System.Security.Policy;
-using System.Reflection;
-using System.Globalization;
+using System.Text;
+using System.Threading;
 using System.Xml;
 using OpenMetaverse;
 using log4net;
@@ -298,13 +299,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
                         using (FileStream fs = File.Open(savedState,
                                                          FileMode.Open, FileAccess.Read, FileShare.None))
                         {
-                            System.Text.UTF8Encoding enc =
-                                new System.Text.UTF8Encoding();
-
                             Byte[] data = new Byte[size];
                             fs.Read(data, 0, size);
 
-                            xml = enc.GetString(data);
+                            xml = Encoding.UTF8.GetString(data);
 
                             ScriptSerializer.Deserialize(xml, this);
 
@@ -954,8 +952,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
                 try
                 {
                     FileStream fs = File.Create(Path.Combine(Path.GetDirectoryName(assembly), ItemID.ToString() + ".state"));
-                    System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
-                    Byte[] buf = enc.GetBytes(xml);
+                    Byte[] buf = (new UTF8Encoding()).GetBytes(xml);
                     fs.Write(buf, 0, buf.Length);
                     fs.Close();
                 }
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index f768cf2..20fad05 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -1763,7 +1763,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
                             tfs.Read(tdata, 0, tdata.Length);
                         }
 
-                        assem = new System.Text.ASCIIEncoding().GetString(tdata);
+                        assem = Encoding.ASCII.GetString(tdata);
                     }
                     catch (Exception e)
                     {
-- 
cgit v1.1