From 36b059f59978279f59386a44c1448b91132f6896 Mon Sep 17 00:00:00 2001 From: "reed%reedloden.com" Date: Tue, 26 Feb 2008 09:57:06 +0000 Subject: [PATCH] Bug 359255 - "Importers: Import Filters from current Eudora" (Get{Native}Target implementations for OS X) [p=beckley@qualcomm.com (Jeff Beckley) r=mento sr=mscott a1.9=damons] git-svn-id: svn://10.0.0.236/trunk@246517 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpcom/io/nsLocalFileOSX.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/mozilla/xpcom/io/nsLocalFileOSX.cpp b/mozilla/xpcom/io/nsLocalFileOSX.cpp index e57268b9864..b6d74f36cce 100644 --- a/mozilla/xpcom/io/nsLocalFileOSX.cpp +++ b/mozilla/xpcom/io/nsLocalFileOSX.cpp @@ -938,15 +938,26 @@ NS_IMETHODIMP nsLocalFile::GetFileSizeOfLink(PRInt64 *aFileSizeOfLink) /* readonly attribute AString target; */ NS_IMETHODIMP nsLocalFile::GetTarget(nsAString& aTarget) { - NS_ERROR("NS_ERROR_NOT_IMPLEMENTED"); - return NS_ERROR_NOT_IMPLEMENTED; + nsCAutoString nativeString; + nsresult rv = GetNativeTarget(nativeString); + if (NS_FAILED(rv)) + return rv; + CopyUTF8toUTF16NFC(nativeString, aTarget); + return NS_OK; } /* [noscript] readonly attribute ACString nativeTarget; */ NS_IMETHODIMP nsLocalFile::GetNativeTarget(nsACString& aNativeTarget) { - NS_ERROR("NS_ERROR_NOT_IMPLEMENTED"); - return NS_ERROR_NOT_IMPLEMENTED; + if (!mTargetRef) + return NS_ERROR_NOT_INITIALIZED; + nsresult rv = NS_ERROR_FAILURE; + CFStringRef pathStrRef = ::CFURLCopyFileSystemPath(mTargetRef, kCFURLPOSIXPathStyle); + if (pathStrRef) { + rv = CFStringReftoUTF8(pathStrRef, aNativeTarget); + ::CFRelease(pathStrRef); + } + return rv; } /* readonly attribute AString path; */