int parse_arg(int who, char *s) { int n; /* * scode() will perform an atoi() if the string is a digits-only * number, or a code_to_int() if the string is a location code. */ n = scode(s); if (n < 0) n = 0; if (n == 0 && who && subloc(who) && fuzzy_strcmp(s, "garrison")) { n = garrison_here(subloc(who)); if (n == 0) n = garrison_magic; } return n; }
int find_command(char *s) { int i; fuzzy_find = FALSE; if (!*s) return -1; for (i = 1; cmd_tbl[i].name; i++) if (i_strcmp(cmd_tbl[i].name, s) == 0) return i; for (i = 1; cmd_tbl[i].name; i++) if (fuzzy_strcmp(cmd_tbl[i].name, s)) { fuzzy_find = TRUE; return i; } return -1; }