diff --git a/mozilla/xpcom/io/nsDirectoryServiceUtils.h b/mozilla/xpcom/io/nsDirectoryServiceUtils.h index 925ece123da..77c02fde016 100644 --- a/mozilla/xpcom/io/nsDirectoryServiceUtils.h +++ b/mozilla/xpcom/io/nsDirectoryServiceUtils.h @@ -36,16 +36,11 @@ NS_GetSpecialDirectory(const char* specialDirName, nsIFile* *result) nsresult rv; static NS_DEFINE_CID(kDirectoryServiceCID, NS_DIRECTORY_SERVICE_CID); nsCOMPtr serv(do_GetService(kDirectoryServiceCID, &rv)); - if (NS_FAILED(rv)) return rv; + if (NS_FAILED(rv)) + return rv; - nsCOMPtr dir; - rv = serv->Get(specialDirName, NS_GET_IID(nsIFile), getter_AddRefs(dir)); - if (NS_FAILED(rv)) return rv; - - *result = NS_STATIC_CAST(nsIFile*, NS_STATIC_CAST(nsISupports*, dir)); - if (*result) - NS_ADDREF(*result); - return NS_OK; + return serv->Get(specialDirName, NS_GET_IID(nsIFile), + NS_REINTERPRET_CAST(void**, result)); } #endif