* Patch from Melanie provides Util.CleanString and uses it on the prim name and description. Thanks Melanie.
parent
04f284e175
commit
0631151e08
|
@ -222,10 +222,7 @@ namespace OpenSim.Framework
|
|||
output.Append(": ");
|
||||
}
|
||||
|
||||
if (bytes[bytes.Length - 1] == 0x00)
|
||||
output.Append(UTF8Encoding.UTF8.GetString(bytes, 0, bytes.Length - 1));
|
||||
else
|
||||
output.Append(UTF8Encoding.UTF8.GetString(bytes));
|
||||
output.Append(CleanString(UTF8Encoding.UTF8.GetString(bytes, 0, bytes.Length - 1)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -406,5 +403,31 @@ namespace OpenSim.Framework
|
|||
{
|
||||
return lluuid.UUID.ToString("n");
|
||||
}
|
||||
|
||||
public static string CleanString(string input)
|
||||
{
|
||||
if(input.Length == 0)
|
||||
return input;
|
||||
|
||||
int clip=input.Length;
|
||||
|
||||
// Test for ++ string terminator
|
||||
int pos=input.IndexOf("\0");
|
||||
if(pos != -1 && pos < clip)
|
||||
clip=pos;
|
||||
|
||||
// Test for CR
|
||||
pos=input.IndexOf("\r");
|
||||
if(pos != -1 && pos < clip)
|
||||
clip=pos;
|
||||
|
||||
// Test for LF
|
||||
pos=input.IndexOf("\n");
|
||||
if(pos != -1 && pos < clip)
|
||||
clip=pos;
|
||||
|
||||
// Truncate string before first end-of-line character found
|
||||
return input.Substring(0, clip);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -749,7 +749,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
{
|
||||
if (PermissionsMngr.CanEditObject(remoteClient.AgentId, group.UUID))
|
||||
{
|
||||
group.SetPartName(name, primLocalID);
|
||||
group.SetPartName(Util.CleanString(name), primLocalID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -766,7 +766,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
{
|
||||
if (PermissionsMngr.CanEditObject(remoteClient.AgentId, group.UUID))
|
||||
{
|
||||
group.SetPartDescription(description.Replace("\0",""), primLocalID);
|
||||
group.SetPartDescription(Util.CleanString(description), primLocalID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1086,7 +1086,6 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
/// <param name="name"></param>
|
||||
public void SetPartName(string name, uint localID)
|
||||
{
|
||||
name = name.Remove(name.Length - 1, 1);
|
||||
SceneObjectPart part = GetChildPart(localID);
|
||||
if (part != null)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue