NS_ASSERTION(c == '\0' || ('a' <= c && c <= 'z'), "non-alphabetic event handler name");
NS_ASSERTION(c == '\0' || isalpha(c), "non-alphabetic event handler name");
AtomToEventHandlerName(nsIAtom *aName, char *charName, PRUint32 charNameSize){  // optimized to avoid ns*Str*.h explicit/implicit copying and malloc'ing  // even nsCAutoString may call an Append that copy-constructs an nsStr from  // a const PRUnichar*  const PRUnichar *name;  aName->GetUnicode(&name);  char c;  PRUint32 i = 0;  do {    NS_ASSERTION(name[i] < 128, "non-ASCII event handler name");    c = char(name[i]);    // The HTML content sink must have folded to lowercase already.    NS_ASSERTION(c == '\0' || ('a' <= c && c <= 'z'), "non-alphabetic event handler name");    NS_ASSERTION(i < charNameSize, "overlong event handler name");    charName[i++] = c;  } while (c != '\0');}