OBJECT *obj;
par->tag = src;
par->distance = *src == '\0' ? distNoObjectSpecified : distUnknownObject;
forEachObject(obj)
...
The initialization of the obj variable received an obliviate spell.Also function parseAndExecute (). The way he deal with invalid input is, epic:
static const COMMAND commands[] =
{
{executeQuit , "quit"},
{executeLookAround, "look"},
...
}
for (cmd = commands; !matchCommand(input, cmd->pattern); cmd++);
return (*cmd->function)();