[Turn on line numbering]
arg @parent;
var par, data, out;
if (!.has_flag('variables, sender()))
throw(~perm, sender().namef('ref) + " is not allowed to read variables on " + .namef('ref));
if (parent) {
if (type(parent[1]) != 'objnum)
throw(~type, parent[1] + " is not an object.");
return (> data(parent[1]) <);
} else {
data = (> data() <);
out = #[];
for par in (data) {
// if the parent doesn't exist anymore, just let them see the data.
if (!valid(par[1]) || par[1].has_flag('variables, sender()))
out = out.add(par[1], par[2]);
else
out = out.add(par[1], ["*** Permission Denied ***"]);
}
return out;
}
["// Created as a part of ColdCore, see: @help Credit"]