зеркало из https://github.com/mozilla/gecko-dev.git
fix for bug#62361 r=ccarlen@netscape.com sr=scc@mozilla.org
profile migration over remote connection
This commit is contained in:
Родитель
0b2dd2b2d2
Коммит
575178307d
|
@ -50,9 +50,11 @@
|
|||
|
||||
#if defined (XP_UNIX)
|
||||
#define USER_ENVIRONMENT_VARIABLE "USER"
|
||||
#define LOGNAME_ENVIRONMENT_VARIABLE "LOGNAME"
|
||||
#define HOME_ENVIRONMENT_VARIABLE "HOME"
|
||||
#define PROFILE_NAME_ENVIRONMENT_VARIABLE "PROFILE_NAME"
|
||||
#define PROFILE_HOME_ENVIRONMENT_VARIABLE "PROFILE_HOME"
|
||||
#define DEFAULT_UNIX_PROFILE_NAME "default"
|
||||
#elif defined (XP_BEOS)
|
||||
#endif
|
||||
|
||||
|
@ -1013,8 +1015,6 @@ nsProfileAccess::ProfileExists(const PRUnichar *profileName)
|
|||
nsresult
|
||||
nsProfileAccess::Get4xProfileInfo(const char *registryName)
|
||||
{
|
||||
NS_ASSERTION(registryName, "Invalid registryName");
|
||||
|
||||
nsresult rv = NS_OK;
|
||||
mNumOldProfiles = 0;
|
||||
|
||||
|
@ -1023,6 +1023,8 @@ nsProfileAccess::Get4xProfileInfo(const char *registryName)
|
|||
if (NS_FAILED(rv)) return rv;
|
||||
|
||||
#if defined(XP_PC) || defined(XP_MAC)
|
||||
NS_ASSERTION(registryName, "Invalid registryName");
|
||||
|
||||
nsCOMPtr<nsIRegistry> oldReg(do_CreateInstance(NS_REGISTRY_CONTRACTID, &rv));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
rv = oldReg->Open(registryName);
|
||||
|
@ -1118,16 +1120,20 @@ nsProfileAccess::Get4xProfileInfo(const char *registryName)
|
|||
#elif defined (XP_BEOS)
|
||||
#else
|
||||
/* XP_UNIX */
|
||||
char *unixProfileName = PR_GetEnv(PROFILE_NAME_ENVIRONMENT_VARIABLE);
|
||||
char *unixProfileDirectory = PR_GetEnv(PROFILE_HOME_ENVIRONMENT_VARIABLE);
|
||||
nsCAutoString unixProfileName( PR_GetEnv(PROFILE_NAME_ENVIRONMENT_VARIABLE) );
|
||||
nsCAutoString unixProfileDirectory( PR_GetEnv(PROFILE_HOME_ENVIRONMENT_VARIABLE) );
|
||||
|
||||
if (!unixProfileName ||
|
||||
!unixProfileDirectory ||
|
||||
(PL_strlen(unixProfileName) == 0) ||
|
||||
(PL_strlen(unixProfileDirectory) == 0))
|
||||
if (unixProfileName.IsEmpty() ||
|
||||
unixProfileDirectory.IsEmpty())
|
||||
{
|
||||
unixProfileName = PR_GetEnv(USER_ENVIRONMENT_VARIABLE);
|
||||
unixProfileDirectory = PR_GetEnv(HOME_ENVIRONMENT_VARIABLE);
|
||||
unixProfileName = PR_GetEnv(LOGNAME_ENVIRONMENT_VARIABLE);
|
||||
if ( unixProfileName.IsEmpty() ) {
|
||||
unixProfileName = PR_GetEnv(USER_ENVIRONMENT_VARIABLE);
|
||||
}
|
||||
if ( unixProfileName.IsEmpty() ) {
|
||||
unixProfileName = DEFAULT_UNIX_PROFILE_NAME;
|
||||
}
|
||||
}
|
||||
|
||||
PRBool exists = PR_FALSE;;
|
||||
|
@ -1137,7 +1143,7 @@ nsProfileAccess::Get4xProfileInfo(const char *registryName)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
if (unixProfileName && unixProfileDirectory) {
|
||||
if ( ! unixProfileName.IsEmpty() && ! unixProfileDirectory.IsEmpty() ) {
|
||||
nsCAutoString profileLocation(unixProfileDirectory);
|
||||
profileLocation += "/.netscape";
|
||||
nsCOMPtr<nsIFileSpec> users4xDotNetscapeDirectory;
|
||||
|
|
Загрузка…
Ссылка в новой задаче