/* /adm/SimulEfun/creator_file.c
* from Nightmare IV
* returns a user id for new objects
* created by Descartes of Borg 940516
*/
#include <security.h>
string creator_file(string str) {
string *borg;
int i, x;
if(!(borg = explode(str, "/"))) return 0;
if((x=member_array("open",borg)) != -1 && x != sizeof(borg)-1) return 0;
if(!x) return 0;
switch(borg[0]) {
case "adm":
return UID_ROOT;
case "cmds":
return (borg[1] == "system" ? UID_SYSTEM : UID_MUDLIB);
case "daemon":
return (borg[1] == "postal" ? UID_POSTAL : UID_MUDLIB);
case "domains": return sprintf("%sobj", borg[1]);
case "estates": return UID_ESTATES;
case "realms": return sprintf("%sobj", borg[1]);
case "secure": return UID_ROOT;
case "std": return UID_BACKBONE; break;
case "www": return (borg[1] == "gateways" ? UID_MUDLIB : 0);
default: return 0;
}
}