res = AddCharsetToContainer(aArray, aContainer, atom, aIDPrefix, -1, 0);
res = AddCharsetToContainer(aRDFServ, aCCMan, aArray, aContainer, atom, aIDPrefix);
nsresult nsCharsetMenu::AddFromStringToMenu(                        char * aCharsetList,                         nsVoidArray * aArray,                         nsIRDFContainer * aContainer,                         nsISupportsArray * aDecs,                         char * aIDPrefix){  nsresult res = NS_OK;  char * p = aCharsetList;  char * q = p;  while (*p != 0) {	  for (; (*q != ',') && (*q != ' ') && (*q != 0); q++) {;}    char temp = *q;    *q = 0;    nsCOMPtr<nsIAtom> atom;    res = mCCManager->GetCharsetAtom2(p, getter_AddRefs(atom));    NS_ASSERTION(NS_SUCCEEDED(res), "cannot get charset atom");    if (NS_FAILED(res)) break;    // if this charset is not on the accepted list of charsets, ignore it    PRInt32 index;    res = aDecs->GetIndexOf(atom, &index);    if (NS_SUCCEEDED(res) && (index >= 0)) {      // else, add it to the menu      res = AddCharsetToContainer(aArray, aContainer, atom, aIDPrefix, -1, 0);      NS_ASSERTION(NS_SUCCEEDED(res), "cannot add charset to menu");      if (NS_FAILED(res)) break;      res = aDecs->RemoveElement(atom);      NS_ASSERTION(NS_SUCCEEDED(res), "cannot remove atom from array");    }    *q = temp;    for (; (*q == ',') || (*q == ' '); q++) {;}    p=q;  }  return NS_OK;}