int32_t
CaseInsensitiveCompare(const char *a, const char *b,
                       uint32_t len)
{
  for (const char *aend = a + len; a < aend; ++a, ++b) {
    char la = NS_ToLower(*a);
    char lb = NS_ToLower(*b);

    if (la == lb)
      continue;

    return la < lb ? -1 : 1;
  }

  return 0;
}
Пример #2
0
int32_t
CaseInsensitiveCompare(const char* aStrA, const char* aStrB,
                       uint32_t aLen)
{
  for (const char* aend = aStrA + aLen; aStrA < aend; ++aStrA, ++aStrB) {
    char la = NS_ToLower(*aStrA);
    char lb = NS_ToLower(*aStrB);

    if (la == lb) {
      continue;
    }

    return la < lb ? -1 : 1;
  }

  return 0;
}
uint32_t
ToLowerCase(nsACString& aStr)
{
  char *begin, *end;
  uint32_t len = aStr.BeginWriting(&begin, &end);

  for (; begin < end; ++begin) {
    *begin = NS_ToLower(*begin);
  }

  return len;
}
bool
nsAString::LowerCaseEqualsLiteral(const char *aASCIIString) const
{
  const PRUnichar *begin, *end;
  BeginReading(&begin, &end);

  for (; begin < end; ++begin, ++aASCIIString) {
    if (!*aASCIIString || !NS_IsAscii(*begin) ||
        NS_ToLower((char) *begin) != *aASCIIString) {
      return false;
    }
  }

  return *aASCIIString == '\0';
}
uint32_t
ToLowerCase(const nsACString& aSrc, nsACString& aDest)
{
  const char *begin,  *end;
  uint32_t len = aSrc.BeginReading(&begin, &end);

  char *dest;
  NS_CStringGetMutableData(aDest, len, &dest);

  for (; begin < end; ++begin, ++dest) {
    *dest = NS_ToLower(*begin);
  }

  return len;
}