nsCOMPtr<nsICategoryManager> catman (do_GetService(NS_CATEGORYMANAGER_CONTRACTID)); NS_ENSURE_TRUE(catman, NS_ERROR_UNEXPECTED);  nsCStringArray handlers; rv = getHandlers(handlers, catman); NS_ENSURE_SUCCESS(rv, rv);  RunClosure closure = { this, catman };  if (!handlers.EnumerateForwards(&EnumRun, &closure)) return NS_ERROR_ABORT;
rv = EnumerateHandlers(EnumRun, nsnull); if (rv == NS_ERROR_ABORT) return rv;
nsCommandLine::Run(){  nsresult rv;  nsCOMPtr<nsICategoryManager> catman    (do_GetService(NS_CATEGORYMANAGER_CONTRACTID));  NS_ENSURE_TRUE(catman, NS_ERROR_UNEXPECTED);  nsCStringArray handlers;  rv = getHandlers(handlers, catman);  NS_ENSURE_SUCCESS(rv, rv);  RunClosure closure = { this, catman };  if (!handlers.EnumerateForwards(&EnumRun, &closure))    return NS_ERROR_ABORT;  return NS_OK;}