alias_compare (map1, map2) const struct alias_map *map1; const struct alias_map *map2;
alias_compare (const struct alias_map *map1, const struct alias_map *map2)
alias_compare (map1, map2)     const struct alias_map *map1;     const struct alias_map *map2;{#if defined _LIBC || defined HAVE_STRCASECMP  return strcasecmp (map1->alias, map2->alias);#else  const unsigned char *p1 = (const unsigned char *) map1->alias;  const unsigned char *p2 = (const unsigned char *) map2->alias;  unsigned char c1, c2;  if (p1 == p2)    return 0;  do    {      /* I know this seems to be odd but the tolower() function in	 some systems libc cannot handle nonalpha characters.  */      c1 = isupper (*p1) ? tolower (*p1) : *p1;      c2 = isupper (*p2) ? tolower (*p2) : *p2;      if (c1 == '\0')	break;      ++p1;      ++p2;    }  while (c1 == c2);  return c1 - c2;#endif}