/*
Copyright (C) 1991, Marcus J. Ranum. All rights reserved.
*/
#ifndef lint
static char RCSid[] = "$Header: /usr/users/mjr/hacks/umud/CMD/RCS/_set.c,v 1.1 91/07/04 17:33:24 mjr Rel $";
#endif
/* configure all options BEFORE including system stuff. */
#include "config.h"
#include "mud.h"
#include "match.h"
/*
set an attribute in an object.
no checks whatsoever are made to ensure validity. this is wiz stuff.
*/
/* ARGSUSED */
cmd__set(argc,argv,who,aswho)
int argc;
char *argv[];
char *who;
char *aswho;
{
Obj *op;
char ob[MAXOID];
if(matchlocal(who,argv[1],ut_loc(who),MTCH_UNIQ|MTCH_MEOK|MTCH_NONLOC,ob))
return(1);
if((op = cache_get(ob)) == (Obj *)0) {
say(who,"cannot find object ",ob,"\n",(char *)0);
return(1);
}
if(objsetattr(op,argv[2],argv[3],argv[4])) {
say(who,"cannot set attribute ",argv[2]," ",
argv[3]," = ",argv[4],"\n",(char *)0);
return(1);
}
if(cache_put(op,argv[1])) {
say(who,"cannot write object ",argv[1],"\n",(char *)0);
return(1);
}
return(0);
}