int search_block(char *arg, char **list, int exact)
{
  register int i, l;
  /* Make into lower case, and get length of string */
  for (l = 0; *(arg + l); l++)
    *(arg + l) = LOWER(*(arg + l));
You'll never match uppercase because it uses 'strcmp' and 'strncmp' for
case sensitivity.  I'm thinking they should be str_cmp and strn_cmp, almost
everything else in the mud is case insensitive.
--------------------
Yes, I do remember this as being a problem.  I did change search_block
to use the case insensitive comparison functions, and all problems
went away :-)
int search_block(char *arg, char **list, bool exact)
{
  register int i, l;
  l = strlen(arg);
  if (exact) {
    for (i = 0; **(list + i) != '\n'; i++)
      if (!str_cmp(arg, *(list + i)))
        return (i);
  } else {
    if (!l)
      l = 1;                    /* Avoid "" to match the first available
                                 * string */
    for (i = 0; **(list + i) != '\n'; i++)
      if (!strn_cmp(arg, *(list + i), l))
        return (i);
  }
  return -1;
}
--Sean
     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST