static PRInt32 strncasecmp(const char* s1, const char* s2, PRUint32 aMaxLen) { PRInt32 result=PRInt32(PL_strncasecmp(s1, s2, aMaxLen));   if(result<0) result=-1; return result;
PRInt32 nsCRT::strncasecmp(const PRUnichar* s1, const PRUnichar* s2, PRInt32 n) { if(s1 && s2) { if(0<n){ while (--n >= 0) { PRUnichar c1 = *s1++; PRUnichar c2 = *s2++; if (c1 != c2) { c1 = TOLOWER(c1); c2 = TOLOWER(c2); if (c1 != c2) { if (c1 < c2) return -1; return 1; } } if ((0==c1) || (0==c2)) break; } } else return 1;
  static PRInt32 strncasecmp(const char* s1, const char* s2, PRUint32 aMaxLen) {    PRInt32 result=PRInt32(PL_strncasecmp(s1, s2, aMaxLen));    //Egags. PL_strncasecmp is returning *very* negative numbers.    //Some folks expect -1,0,1, so let's temper it's enthusiasm.    if(result<0)       result=-1;    return result;  }