ParseAtRule(errorCode, AppendRuleToArray, *aResult);
ParseAtRule(errorCode, AppendRuleToArray, &aResult);
CSSParserImpl::ParseRule(const nsAString& aRule,                         nsIURI*            aSheetURL,                         nsIURI*            aBaseURL,                         nsISupportsArray** aResult){  NS_ASSERTION(nsnull != aBaseURL, "need base URL");  NS_ENSURE_ARG_POINTER(aResult);  nsresult rv = InitScanner(aRule, aSheetURL, 0, aBaseURL);  if (NS_FAILED(rv)) {    return rv;  }  rv = NS_NewISupportsArray(aResult);  if (NS_FAILED(rv)) {    ReleaseScanner();    return rv;  }    mSection = eCSSSection_Charset; // callers are responsible for rejecting invalid rules.  nsresult errorCode = NS_OK;  nsCSSToken* tk = &mToken;  // Get first non-whitespace token  if (!GetToken(errorCode, PR_TRUE)) {    REPORT_UNEXPECTED(PEParseRuleWSOnly);    OUTPUT_ERROR();  } else if (eCSSToken_AtKeyword == tk->mType) {    ParseAtRule(errorCode, AppendRuleToArray, *aResult);      }  else {    UngetToken();    ParseRuleSet(errorCode, AppendRuleToArray, *aResult);  }  OUTPUT_ERROR();  ReleaseScanner();  return NS_OK;}