diff --git a/mozilla/xpcom/components/nsComponentManager.cpp b/mozilla/xpcom/components/nsComponentManager.cpp index eccac7d203f..67d2a7cc08e 100644 --- a/mozilla/xpcom/components/nsComponentManager.cpp +++ b/mozilla/xpcom/components/nsComponentManager.cpp @@ -705,18 +705,6 @@ nsComponentManagerImpl::PlatformInit(void) if (!mComponentsDir) return NS_ERROR_OUT_OF_MEMORY; - char* componentDescriptor; - mComponentsDir->GetPath(&componentDescriptor); - if (!componentDescriptor) - return NS_ERROR_NULL_POINTER; - - mComponentsOffset = strlen(componentDescriptor); - - if (componentDescriptor) - nsMemory::Free(componentDescriptor); - - - if (mNativeComponentLoader) { /* now that we have the registry, Init the native loader */ rv = mNativeComponentLoader->Init(this, mRegistry); @@ -2102,30 +2090,24 @@ nsComponentManagerImpl::RegistryLocationForSpec(nsIFile *aSpec, PRBool containedIn; mComponentsDir->Contains(aSpec, PR_TRUE, &containedIn); - char *persistentDescriptor; - if (containedIn){ - rv = aSpec->GetPath(&persistentDescriptor); - if (NS_FAILED(rv)) - return rv; + nsXPIDLCString relativeLocation; + if (NS_FAILED(rv = aSpec->GetLeafName(getter_Copies(relativeLocation)))) + return rv; - char* relativeLocation = persistentDescriptor + mComponentsOffset + 1; - - rv = MakeRegistryName(relativeLocation, XPCOM_RELCOMPONENT_PREFIX, + rv = MakeRegistryName(relativeLocation.get(), XPCOM_RELCOMPONENT_PREFIX, aRegistryName); } else { + nsXPIDLCString absoluteLocation; /* absolute names include volume info on Mac, so persistent descriptor */ - rv = aSpec->GetPath(&persistentDescriptor); + rv = aSpec->GetPath(getter_Copies(absoluteLocation)); if (NS_FAILED(rv)) return rv; - rv = MakeRegistryName(persistentDescriptor, XPCOM_ABSCOMPONENT_PREFIX, + rv = MakeRegistryName(absoluteLocation.get(), XPCOM_ABSCOMPONENT_PREFIX, aRegistryName); } - if (persistentDescriptor) - nsMemory::Free(persistentDescriptor); - return rv; } diff --git a/mozilla/xpcom/components/nsComponentManager.h b/mozilla/xpcom/components/nsComponentManager.h index 80f375d4940..df4b9743c10 100644 --- a/mozilla/xpcom/components/nsComponentManager.h +++ b/mozilla/xpcom/components/nsComponentManager.h @@ -205,7 +205,6 @@ protected: nsNativeComponentLoader *mNativeComponentLoader; nsIComponentLoader *mStaticComponentLoader; nsCOMPtr mComponentsDir; - PRInt32 mComponentsOffset; // Shutdown #define NS_SHUTDOWN_NEVERHAPPENED 0