aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs15
1 files changed, 10 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 1ede395..f809ef2 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -82,6 +82,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
82 private bool m_waitingForScriptAnswer=false; 82 private bool m_waitingForScriptAnswer=false;
83 private bool m_automaticLinkPermission=false; 83 private bool m_automaticLinkPermission=false;
84 private IMessageTransferModule m_TransferModule = null; 84 private IMessageTransferModule m_TransferModule = null;
85 private int m_notecardLineReadCharsMax = 255;
85 86
86 //private static readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 87 //private static readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
87 88
@@ -100,6 +101,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
100 m_ScriptEngine.Config.GetFloat("MinTimerInterval", 0.5f); 101 m_ScriptEngine.Config.GetFloat("MinTimerInterval", 0.5f);
101 m_automaticLinkPermission = 102 m_automaticLinkPermission =
102 m_ScriptEngine.Config.GetBoolean("AutomaticLinkPermission", false); 103 m_ScriptEngine.Config.GetBoolean("AutomaticLinkPermission", false);
104 m_notecardLineReadCharsMax =
105 m_ScriptEngine.Config.GetInt("NotecardLineReadCharsMax", 255);
106 if (m_notecardLineReadCharsMax > 65535)
107 m_notecardLineReadCharsMax = 65535;
103 108
104 m_TransferModule = 109 m_TransferModule =
105 m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>(); 110 m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>();
@@ -9133,7 +9138,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9133 { 9138 {
9134 AsyncCommands. 9139 AsyncCommands.
9135 DataserverPlugin.DataserverReply(item.AssetID.ToString(), 9140 DataserverPlugin.DataserverReply(item.AssetID.ToString(),
9136 NotecardCache.GetLine(item.AssetID, line)); 9141 NotecardCache.GetLine(item.AssetID, line, m_notecardLineReadCharsMax));
9137 // ScriptSleep(100); 9142 // ScriptSleep(100);
9138 return tid.ToString(); 9143 return tid.ToString();
9139 } 9144 }
@@ -9147,7 +9152,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9147 NotecardCache.Cache(id, data); 9152 NotecardCache.Cache(id, data);
9148 AsyncCommands. 9153 AsyncCommands.
9149 DataserverPlugin.DataserverReply(id.ToString(), 9154 DataserverPlugin.DataserverReply(id.ToString(),
9150 NotecardCache.GetLine(id, line)); 9155 NotecardCache.GetLine(id, line, m_notecardLineReadCharsMax));
9151 }); 9156 });
9152 9157
9153 // ScriptSleep(100); 9158 // ScriptSleep(100);
@@ -9291,7 +9296,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9291 } 9296 }
9292 } 9297 }
9293 9298
9294 public static string GetLine(UUID assetID, int line) 9299 public static string GetLine(UUID assetID, int line, int maxLength)
9295 { 9300 {
9296 if (line < 0) 9301 if (line < 0)
9297 return ""; 9302 return "";
@@ -9309,8 +9314,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
9309 return "\n\n\n"; 9314 return "\n\n\n";
9310 9315
9311 data = m_Notecards[assetID].text[line]; 9316 data = m_Notecards[assetID].text[line];
9312 if (data.Length > 255) 9317 if (data.Length > maxLength)
9313 data = data.Substring(0, 255); 9318 data = data.Substring(0, maxLength);
9314 9319
9315 return data; 9320 return data;
9316 } 9321 }