server: Allow to create win32 prefix when directory already exists.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6f2f307b1d
commit
808619b72d
|
@ -1139,17 +1139,6 @@ static void setup_config_dir(void)
|
||||||
mkdir( config_dir, 0777 );
|
mkdir( config_dir, 0777 );
|
||||||
if (chdir( config_dir ) == -1) fatal_perror( "chdir to %s\n", config_dir );
|
if (chdir( config_dir ) == -1) fatal_perror( "chdir to %s\n", config_dir );
|
||||||
|
|
||||||
if ((p = getenv( "WINEARCH" )) && !strcmp( p, "win32" ))
|
|
||||||
{
|
|
||||||
/* force creation of a 32-bit prefix */
|
|
||||||
int fd = open( "system.reg", O_WRONLY | O_CREAT | O_EXCL, 0666 );
|
|
||||||
if (fd != -1)
|
|
||||||
{
|
|
||||||
static const char regfile[] = "WINE REGISTRY Version 2\n\n#arch=win32\n";
|
|
||||||
write( fd, regfile, sizeof(regfile) - 1 );
|
|
||||||
close( fd );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MESSAGE( "wine: created the configuration directory '%s'\n", config_dir );
|
MESSAGE( "wine: created the configuration directory '%s'\n", config_dir );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1805,6 +1805,7 @@ void init_registry(void)
|
||||||
WCHAR *current_user_path;
|
WCHAR *current_user_path;
|
||||||
struct unicode_str current_user_str;
|
struct unicode_str current_user_str;
|
||||||
struct key *key, *hklm, *hkcu;
|
struct key *key, *hklm, *hkcu;
|
||||||
|
char *p;
|
||||||
|
|
||||||
/* switch to the config dir */
|
/* switch to the config dir */
|
||||||
|
|
||||||
|
@ -1821,7 +1822,12 @@ void init_registry(void)
|
||||||
fatal_error( "could not create Machine registry key\n" );
|
fatal_error( "could not create Machine registry key\n" );
|
||||||
|
|
||||||
if (!load_init_registry_from_file( "system.reg", hklm ))
|
if (!load_init_registry_from_file( "system.reg", hklm ))
|
||||||
prefix_type = sizeof(void *) > sizeof(int) ? PREFIX_64BIT : PREFIX_32BIT;
|
{
|
||||||
|
if ((p = getenv( "WINEARCH" )) && !strcmp( p, "win32" ))
|
||||||
|
prefix_type = PREFIX_32BIT;
|
||||||
|
else
|
||||||
|
prefix_type = sizeof(void *) > sizeof(int) ? PREFIX_64BIT : PREFIX_32BIT;
|
||||||
|
}
|
||||||
else if (prefix_type == PREFIX_UNKNOWN)
|
else if (prefix_type == PREFIX_UNKNOWN)
|
||||||
prefix_type = PREFIX_32BIT;
|
prefix_type = PREFIX_32BIT;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue