/
umud/DOC/
umud/DOC/examples/
umud/DOC/internals/
umud/DOC/wizard/
umud/MISC/
umud/MISC/dbchk/
umud/RWHO/rwhod/
/*
	Copyright (C) 1991, Marcus J. Ranum. All rights reserved.
*/

#ifndef	lint
static	char	RCSid[] = "$Header: /usr/users/mjr/hacks/umud/CMD/RCS/which.c,v 1.2 91/08/30 23:17:44 mjr Exp $";
#endif

/* configure all options BEFORE including system stuff. */
#include	"config.h"


#include	"mud.h"
#include	"match.h"




/* ARGSUSED */
cmd_which(ac,av,who,aswho)
int	ac;
char	*av[];
char	*who;
char	*aswho;
{
	char	ob[MAXOID];
	int	flg;

	flg = MTCH_MEOK|MTCH_WHICH|MTCH_NONLOC|MTCH_QUIET;

	if(ac == 2) {
		flg = MTCH_MEOK|MTCH_WHICH|MTCH_NONLOC|MTCH_QUIET;
		if(matchlocal(who,av[1],ut_loc(who),flg,ob) == 0)
			say(who,"Matched: ",ob," (",ut_name(ob),")\n",(char *)0);
		else
			say(who,"Nothing matches \"",av[1],"\"\n",(char *)0);
		return(0);
	}

	if(ac > 2 && !strncmp(av[1],"object",strlen(av[1]))) {
		if(matchobjects(who,av[2],ut_loc(who),flg,ob) == 0)
			say(who,"Matched: ",ob," (",ut_name(ob),")\n",(char *)0);
		else
			say(who,"Nothing matches \"",av[1],"\"\n",(char *)0);
		return(0);
	}

	if(ac > 2 && !strncmp(av[1],"player",strlen(av[1]))) {
		if(matchplayers(who,av[2],ut_loc(who),flg,ob) == 0)
			say(who,"Matched: ",ob," (",ut_name(ob),")\n",(char *)0);
		else
			say(who,"Nobody matches \"",av[1],"\"\n",(char *)0);
		return(0);
	}

	if(ac > 2 && !strncmp(av[1],"exit",strlen(av[1]))) {
		if(matchexit(who,av[2],ut_loc(who),flg,ob) == 0)
			say(who,"Matched: ",ob," (",ut_name(ob),")\n",(char *)0);
		else
			say(who,"No exit matches \"",av[1],"\"\n",(char *)0);
		return(0);
	}
	say(who,"Match what?\n",(char *)0);
	return(1);
}