/* $Id: cmd.c,v 1.666 2004/09/20 10:50:18 shrike Exp $ */ /************************************************************************************ * Copyright 2004 Astrum Metaphora consortium * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * * * ************************************************************************************/ #include <stdio.h> #include "merc.h" varr commands = { sizeof(command_t), 8 }; command_t *command_new() { command_t *command; command = varr_enew(&commands); return command; } void command_free(command_t *command) { free_string(command->name); } command_t *command_lookup(const char *name, int (*cmpfun)(const char *s1, const char *s2)) { int i; for (i = 0; i < commands.nused; i++) { command_t *command = VARR_GET(&commands, i); if (!cmpfun(name, command->name)) return command; } return NULL; }