diff --git a/mozilla/xpcom/io/nsILocalFileMac.h b/mozilla/xpcom/io/nsILocalFileMac.h index e0bc0ca1dfe..96b31b8aa3b 100644 --- a/mozilla/xpcom/io/nsILocalFileMac.h +++ b/mozilla/xpcom/io/nsILocalFileMac.h @@ -98,4 +98,8 @@ public: }; + +extern "C" NS_EXPORT nsresult +NS_NewLocalFileWithFSSpec(FSSpec* inSpec, nsILocalFileMac* *result); + #endif diff --git a/mozilla/xpcom/io/nsLocalFileMac.cpp b/mozilla/xpcom/io/nsLocalFileMac.cpp index 51e2155ccfa..056dabe1644 100644 --- a/mozilla/xpcom/io/nsLocalFileMac.cpp +++ b/mozilla/xpcom/io/nsLocalFileMac.cpp @@ -2555,3 +2555,19 @@ NS_NewLocalFile(const char* path, nsILocalFile* *result) return NS_OK; } +nsresult +NS_NewLocalFileWithFSSpec(FSSpec* inSpec, nsILocalFileMac* *result) +{ + nsLocalFile* file = new nsLocalFile(); + if (file == nsnull) + return NS_ERROR_OUT_OF_MEMORY; + NS_ADDREF(file); + + nsresult rv = file->InitWithFSSpec(inSpec); + if (NS_FAILED(rv)) { + NS_RELEASE(file); + return rv; + } + *result = file; + return NS_OK; +}