Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
a08e1b60ec
|
@ -250,6 +250,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
|
|||
return true;
|
||||
}
|
||||
|
||||
// pkey will be the final element in the path, we pull it out here to make sure
|
||||
// that the assignment works correctly
|
||||
string pkey = path.Pop();
|
||||
string pexpr = PathExpressionToKey(path);
|
||||
if (pexpr != "")
|
||||
|
@ -259,7 +261,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
|
|||
if (result == null)
|
||||
return false;
|
||||
|
||||
// Check for and extract array references
|
||||
// Check pkey, the last element in the path, for and extract array references
|
||||
MatchCollection amatches = m_ArrayPattern.Matches(pkey,0);
|
||||
if (amatches.Count > 0)
|
||||
{
|
||||
|
@ -307,18 +309,25 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
|
|||
|
||||
if (result is OSDMap)
|
||||
{
|
||||
// this is the assignment case
|
||||
OSDMap hmap = result as OSDMap;
|
||||
if (ovalue != null)
|
||||
{
|
||||
hmap[hkey] = ovalue;
|
||||
InvokeNextCallback(pexpr + pkey);
|
||||
}
|
||||
else if (hmap.ContainsKey(hkey))
|
||||
hmap.Remove(hkey);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// this is the remove case
|
||||
if (hmap.ContainsKey(hkey))
|
||||
{
|
||||
hmap.Remove(hkey);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -239,7 +239,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
|
|||
if (! m_enabled) return false;
|
||||
|
||||
lock (m_JsonValueStore)
|
||||
m_JsonValueStore.Remove(storeID);
|
||||
return m_JsonValueStore.Remove(storeID);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -311,8 +311,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
|
|||
try
|
||||
{
|
||||
lock (map)
|
||||
if (map.SetValue(path,value,useJson))
|
||||
return true;
|
||||
return map.SetValue(path,value,useJson);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -344,8 +343,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
|
|||
try
|
||||
{
|
||||
lock (map)
|
||||
if (map.RemoveValue(path))
|
||||
return true;
|
||||
return map.RemoveValue(path);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
@ -504,7 +504,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore
|
|||
{
|
||||
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());
|
||||
m_comms.DispatchReply(scriptID, result, "", reqID.ToString());
|
||||
return;
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
Loading…
Reference in New Issue