/*
Copyright (C) 1991, Marcus J. Ranum. All rights reserved.
*/
/* configure all options BEFORE including system stuff. */
#include "config.h"
#include "mud.h"
#include "match.h"
/* ARGSUSED */
int cmd_which (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 (UERR_NOMATCH);
}
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 (UERR_NOMATCH);
}
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 (UERR_NOMATCH);
}
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 (UERR_NOMATCH);
}
say (who, "Match what?\n", (char *) 0);
return (UERR_BADPARM);
}