change the nsIDirectoryIterator::Init interface to match the nsDirectoryIterator ctor: two paramenters, a file spec and a bool for resolveSymlinks. pass in PR_TRUE in the pref and component manager code. this fixes the problem where prefs wouldn't get loaded on the mac!

This commit is contained in:
sspitzer%netscape.com 1999-07-27 23:33:54 +00:00
parent 49e2f26016
commit 17a4c1fb71
5 changed files with 6 additions and 6 deletions

View File

@ -1351,7 +1351,7 @@ extern "C" JSBool pref_InitInitialObjects()
(const nsID&)nsIDirectoryIterator::GetIID(),
(void**)&i);
NS_ASSERTION(NS_SUCCEEDED(rv), "ERROR: Could not make a directory iterator.");
if (!i || NS_FAILED(i->Init(componentsDir)))
if (!i || NS_FAILED(i->Init(componentsDir, PR_TRUE)))
return JS_FALSE;
// Get any old child of the components directory. Warning: aliases get resolved, so

View File

@ -1758,7 +1758,7 @@ nsComponentManagerImpl::SyncComponentsInDir(RegistrationTime when, nsIFileSpec *
nsCOMPtr<nsIDirectoryIterator>dirIterator;
rv = CreateInstance(NS_DIRECTORYITERATOR_PROGID, NULL, kDirectoryIteratorIID, getter_AddRefs(dirIterator));
if (NS_FAILED(rv)) return rv;
rv = dirIterator->Init(dirSpec);
rv = dirIterator->Init(dirSpec, PR_TRUE);
if (NS_FAILED(rv)) return rv;
// whip through the directory to register every file

View File

@ -659,11 +659,11 @@ nsDirectoryIteratorImpl::~nsDirectoryIteratorImpl()
}
//----------------------------------------------------------------------------------------
NS_IMETHODIMP nsDirectoryIteratorImpl::Init(nsIFileSpec *parent)
NS_IMETHODIMP nsDirectoryIteratorImpl::Init(nsIFileSpec *parent, PRBool resolveSymlink)
//----------------------------------------------------------------------------------------
{
delete mDirectoryIterator;
mDirectoryIterator = new nsDirectoryIterator(FILESPEC(parent), PR_FALSE);
mDirectoryIterator = new nsDirectoryIterator(FILESPEC(parent), resolveSymlink);
if (!mDirectoryIterator)
return NS_ERROR_OUT_OF_MEMORY;
return NS_OK;

View File

@ -212,7 +212,7 @@ public:
NS_DECL_ISUPPORTS
NS_IMETHOD Init(nsIFileSpec *parent);
NS_IMETHOD Init(nsIFileSpec *parent, PRBool resolveSymlink);
NS_IMETHOD exists(PRBool *_retval);

View File

@ -136,7 +136,7 @@ interface nsIFileSpec : nsISupports
[scriptable, uuid(d8c0a083-0868-11d3-915f-d9d889d48e3c)]
interface nsIDirectoryIterator : nsISupports
{
void Init(in nsIFileSpec parent);
void Init(in nsIFileSpec parent, in boolean resolveSymlink);
boolean exists();
void next();
readonly attribute nsIFileSpec currentSpec;