Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
0b82e284
Commit
0b82e284
authored
May 23, 2012
by
Hans Leidekker
Committed by
Alexandre Julliard
May 23, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fusion: Add a "v4.0_" prefix to version 4.0 assembly directories.
parent
072c9656
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
15 deletions
+24
-15
asmcache.c
dlls/fusion/asmcache.c
+8
-2
asmenum.c
dlls/fusion/asmenum.c
+16
-13
No files found.
dlls/fusion/asmcache.c
View file @
0b82e284
...
...
@@ -375,7 +375,10 @@ static HRESULT WINAPI IAssemblyCacheImpl_InstallAssembly(IAssemblyCache *iface,
LPCWSTR
pszManifestFilePath
,
LPCFUSION_INSTALL_REFERENCE
pRefData
)
{
static
const
WCHAR
format
[]
=
{
'%'
,
's'
,
'\\'
,
'%'
,
's'
,
'\\'
,
'%'
,
's'
,
'_'
,
'_'
,
'%'
,
's'
,
'\\'
,
0
};
static
const
WCHAR
format
[]
=
{
'%'
,
's'
,
'\\'
,
'%'
,
's'
,
'\\'
,
'%'
,
's'
,
'_'
,
'_'
,
'%'
,
's'
,
'\\'
,
0
};
static
const
WCHAR
format_v40
[]
=
{
'%'
,
's'
,
'\\'
,
'%'
,
's'
,
'\\'
,
'v'
,
'4'
,
'.'
,
'0'
,
'_'
,
'%'
,
's'
,
'_'
,
'_'
,
'%'
,
's'
,
'\\'
,
0
};
static
const
WCHAR
ext_exe
[]
=
{
'.'
,
'e'
,
'x'
,
'e'
,
0
};
static
const
WCHAR
ext_dll
[]
=
{
'.'
,
'd'
,
'l'
,
'l'
,
0
};
IAssemblyCacheImpl
*
cache
=
impl_from_IAssemblyCache
(
iface
);
...
...
@@ -430,7 +433,10 @@ static HRESULT WINAPI IAssemblyCacheImpl_InstallAssembly(IAssemblyCache *iface,
architecture
=
assembly_get_architecture
(
assembly
);
get_assembly_directory
(
asmdir
,
MAX_PATH
,
clr_version
,
architecture
);
sprintfW
(
path
,
format
,
asmdir
,
name
,
version
,
token
);
if
(
!
strcmp
(
clr_version
,
"v4.0.30319"
))
sprintfW
(
path
,
format_v40
,
asmdir
,
name
,
version
,
token
);
else
sprintfW
(
path
,
format
,
asmdir
,
name
,
version
,
token
);
create_full_path
(
path
);
...
...
dlls/fusion/asmenum.c
View file @
0b82e284
...
...
@@ -291,17 +291,6 @@ static void insert_assembly(struct list *assemblies, ASMNAME *to_insert)
static
HRESULT
enum_gac_assemblies
(
struct
list
*
assemblies
,
IAssemblyName
*
name
,
int
depth
,
LPWSTR
path
)
{
WIN32_FIND_DATAW
ffd
;
WCHAR
buf
[
MAX_PATH
];
WCHAR
disp
[
MAX_PATH
];
WCHAR
asmpath
[
MAX_PATH
];
ASMNAME
*
asmname
;
HANDLE
hfind
;
LPWSTR
ptr
;
HRESULT
hr
=
S_OK
;
static
WCHAR
parent
[
MAX_PATH
];
static
const
WCHAR
dot
[]
=
{
'.'
,
0
};
static
const
WCHAR
dotdot
[]
=
{
'.'
,
'.'
,
0
};
static
const
WCHAR
search_fmt
[]
=
{
'%'
,
's'
,
'\\'
,
'*'
,
0
};
...
...
@@ -311,6 +300,14 @@ static HRESULT enum_gac_assemblies(struct list *assemblies, IAssemblyName *name,
'C'
,
'u'
,
'l'
,
't'
,
'u'
,
'r'
,
'e'
,
'='
,
'n'
,
'e'
,
'u'
,
't'
,
'r'
,
'a'
,
'l'
,
','
,
' '
,
'P'
,
'u'
,
'b'
,
'l'
,
'i'
,
'c'
,
'K'
,
'e'
,
'y'
,
'T'
,
'o'
,
'k'
,
'e'
,
'n'
,
'='
,
'%'
,
's'
,
0
};
static
const
WCHAR
ss_fmt
[]
=
{
'%'
,
's'
,
'\\'
,
'%'
,
's'
,
0
};
static
const
WCHAR
v40
[]
=
{
'v'
,
'4'
,
'.'
,
'0'
,
'_'
};
WIN32_FIND_DATAW
ffd
;
WCHAR
buf
[
MAX_PATH
],
disp
[
MAX_PATH
],
asmpath
[
MAX_PATH
];
static
WCHAR
parent
[
MAX_PATH
];
ASMNAME
*
asmname
;
HANDLE
hfind
;
WCHAR
*
ptr
;
HRESULT
hr
=
S_OK
;
if
(
name
)
parse_name
(
name
,
depth
,
path
,
buf
);
...
...
@@ -337,13 +334,19 @@ static HRESULT enum_gac_assemblies(struct list *assemblies, IAssemblyName *name,
}
else
if
(
depth
==
1
)
{
unsigned
int
prefix_len
=
sizeof
(
v40
)
/
sizeof
(
WCHAR
);
const
WCHAR
*
token
,
*
version
=
ffd
.
cFileName
;
sprintfW
(
asmpath
,
path_fmt
,
path
,
ffd
.
cFileName
,
parent
);
ptr
=
strstrW
(
ffd
.
cFileName
,
dblunder
);
*
ptr
=
'\0'
;
ptr
+=
2
;
token
=
ptr
+
2
;
if
(
strlenW
(
ffd
.
cFileName
)
>=
prefix_len
&&
!
memcmp
(
ffd
.
cFileName
,
v40
,
sizeof
(
v40
)))
version
+=
prefix_len
;
sprintfW
(
disp
,
fmt
,
parent
,
ffd
.
cFileName
,
ptr
);
sprintfW
(
disp
,
fmt
,
parent
,
version
,
token
);
asmname
=
HeapAlloc
(
GetProcessHeap
(),
0
,
sizeof
(
ASMNAME
));
if
(
!
asmname
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment