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
309dbe10
Commit
309dbe10
authored
Oct 28, 1998
by
Juergen Schmied
Committed by
Alexandre Julliard
Oct 28, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New SHGetSimpleIDListFromPath32AW.
Unicode-safe: PathFindFilename32AW.
parent
bce6d3e7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
63 additions
and
35 deletions
+63
-35
pidl.c
dlls/shell32/pidl.c
+26
-0
shellole.c
dlls/shell32/shellole.c
+1
-1
shellord.c
dlls/shell32/shellord.c
+25
-27
shell.h
include/shell.h
+5
-1
shell32.spec
relay32/shell32.spec
+6
-6
No files found.
dlls/shell32/pidl.c
View file @
309dbe10
...
...
@@ -335,6 +335,32 @@ LPITEMIDLIST WINAPI ILCreateFromPath(LPVOID path)
}
return
pidlnew
;
}
/*************************************************************************
* SHSimpleIDListFromPath [SHELL32.162]
*
*/
LPITEMIDLIST
WINAPI
SHSimpleIDListFromPath32AW
(
LPVOID
lpszPath
)
{
LPCSTR
lpszElement
;
char
lpszTemp
[
MAX_PATH
];
if
(
!
lpszPath
)
return
0
;
if
(
VERSION_OsIsUnicode
())
{
TRACE
(
pidl
,
"(path=L%s)
\n
"
,
debugstr_w
((
LPWSTR
)
lpszPath
));
WideCharToLocal32
(
lpszTemp
,
lpszPath
,
MAX_PATH
);
}
else
{
TRACE
(
pidl
,
"(path=%s)
\n
"
,(
LPSTR
)
lpszPath
);
strcpy
(
lpszTemp
,
lpszPath
);
}
lpszElement
=
PathFindFilename32A
(
lpszTemp
);
if
(
GetFileAttributes32A
(
lpszTemp
)
&
FILE_ATTRIBUTE_DIRECTORY
)
{
return
_ILCreateFolder
(
lpszElement
);
}
return
_ILCreateValue
(
lpszElement
);
}
/**************************************************************************
* internal functions
...
...
dlls/shell32/shellole.c
View file @
309dbe10
...
...
@@ -36,7 +36,7 @@ static GetClassPtr SH_find_moduleproc(LPSTR dllname,HMODULE32 *xhmod,LPSTR name)
if
(
xhmod
)
{
*
xhmod
=
0
;
}
if
(
!
strcasecmp
(
PathFindFilename
(
dllname
),
"shell32.dll"
))
if
(
!
strcasecmp
(
PathFindFilename
32A
(
dllname
),
"shell32.dll"
))
{
return
(
GetClassPtr
)
SHELL32_DllGetClassObject
;
}
...
...
dlls/shell32/shellord.c
View file @
309dbe10
...
...
@@ -218,28 +218,36 @@ LPSTR WINAPI PathRemoveBlanks(LPSTR str)
* NOTES
* basename(char *fn);
*/
LPVOID
WINAPI
PathFindFilename
(
LPVOID
fn
)
{
LPSTR
aslash
,
aptr
;
LPWSTR
wslash
,
wptr
;
if
(
VERSION_OsIsUnicode
())
{
wslash
=
wptr
=
(
LPWSTR
)
fn
;
TRACE
(
shell
,
"L%s
\n
"
,
debugstr_w
(
wslash
));
while
(
wptr
[
0
])
{
if
(((
wptr
[
0
]
==
'\\'
)
||
(
wptr
[
0
]
==
':'
))
&&
wptr
[
1
]
&&
wptr
[
1
]
!=
'\\'
)
wslash
=
wptr
+
1
;
wptr
++
;
}
return
(
LPVOID
)
wslash
;
}
aslash
=
aptr
=
(
LPSTR
)
fn
;
LPCSTR
WINAPI
PathFindFilename32A
(
LPCSTR
aptr
)
{
LPCSTR
aslash
;
aslash
=
aptr
;
TRACE
(
shell
,
"%s
\n
"
,
aslash
);
while
(
aptr
[
0
])
{
if
(((
aptr
[
0
]
==
'\\'
)
||
(
aptr
[
0
]
==
':'
))
&&
aptr
[
1
]
&&
aptr
[
1
]
!=
'\\'
)
aslash
=
aptr
+
1
;
aptr
++
;
aptr
++
;
}
return
(
LPVOID
)
aslash
;
return
aslash
;
}
LPCWSTR
WINAPI
PathFindFilename32W
(
LPCWSTR
wptr
)
{
LPCWSTR
wslash
;
wslash
=
wptr
;
TRACE
(
shell
,
"L%s
\n
"
,
debugstr_w
(
wslash
));
while
(
wptr
[
0
])
{
if
(((
wptr
[
0
]
==
'\\'
)
||
(
wptr
[
0
]
==
':'
))
&&
wptr
[
1
]
&&
wptr
[
1
]
!=
'\\'
)
wslash
=
wptr
+
1
;
wptr
++
;
}
return
wslash
;
}
LPCVOID
WINAPI
PathFindFilename32AW
(
LPCVOID
fn
)
{
if
(
VERSION_OsIsUnicode
())
return
PathFindFilename32W
(
fn
);
return
PathFindFilename32A
(
fn
);
}
/*************************************************************************
...
...
@@ -740,7 +748,6 @@ LPCVOID WINAPI PathGetExtension32AW(LPCVOID path,DWORD y,DWORD z)
{
if
(
VERSION_OsIsUnicode
())
return
PathGetExtension32W
(
path
,
y
,
z
);
return
PathGetExtension32A
(
path
,
y
,
z
);
}
/*************************************************************************
...
...
@@ -1041,15 +1048,6 @@ HRESULT WINAPI SHRunControlPanel (DWORD x, DWORD z)
return
0
;
}
/*************************************************************************
* SHSimpleIDListFromPath [SHELL32.162]
*
*/
LPITEMIDLIST
WINAPI
SHSimpleIDListFromPath
(
LPCSTR
lpszPath
)
{
FIXME
(
shell
,
"(%s): stub
\n
"
,
lpszPath
);
return
0
;
}
/*************************************************************************
* ShellExecuteEx [SHELL32.291]
*
*/
...
...
include/shell.h
View file @
309dbe10
...
...
@@ -273,8 +273,12 @@ LPCWSTR WINAPI PathGetExtension32W(LPCWSTR path, DWORD y, DWORD x);
#define PathGetExtension WINELIB_NAME_AW(PathGetExtension)
LPCVOID
WINAPI
PathGetExtension32AW
(
LPCVOID
path
,
DWORD
y
,
DWORD
x
);
LPCSTR
WINAPI
PathFindFilename32A
(
LPCSTR
path
);
LPCWSTR
WINAPI
PathFindFilename32W
(
LPCWSTR
path
);
#define PathFindFilename WINELIB_NAME_AW(PathFindFilename)
LPCVOID
WINAPI
PathFindFilename32AW
(
LPCVOID
path
);
LPSTR
WINAPI
PathRemoveBlanks
(
LPSTR
str
);
LPVOID
WINAPI
PathFindFilename
(
LPVOID
fn
);
/****************************************************************************
* other functions
*/
...
...
relay32/shell32.spec
View file @
309dbe10
...
...
@@ -34,15 +34,15 @@ init Shell32LibMain
26 stub ILLoadFromStream@8
27 stub ILSaveToStream@8
28 stub SHILCreateFromPath@12
29 stdcall PathIsRoot(
s
tr) PathIsRoot32AW
29 stdcall PathIsRoot(
p
tr) PathIsRoot32AW
30 stdcall PathBuildRoot(ptr long) PathBuildRoot
31 stdcall PathFindExtension(
s
tr) PathFindExtension32AW
32 stdcall PathAddBackslash(
s
tr) PathAddBackslash32AW
31 stdcall PathFindExtension(
p
tr) PathFindExtension32AW
32 stdcall PathAddBackslash(
p
tr) PathAddBackslash32AW
33 stdcall PathRemoveBlanks(str) PathRemoveBlanks
34 stdcall PathFindFilename(
str) PathFindFilename
34 stdcall PathFindFilename(
ptr) PathFindFilename32AW
35 stdcall PathRemoveFileSpec(str) PathRemoveFileSpec
36 stdcall PathAppend(str str) PathAppend
37 stdcall PathCombine(ptr
str s
tr) PathCombine32AW
37 stdcall PathCombine(ptr
ptr p
tr) PathCombine32AW
38 stub PathStripPath
39 stdcall PathIsUNC(str) PathIsUNC
40 stub PathIsRelative
...
...
@@ -167,7 +167,7 @@ init Shell32LibMain
159 stub PathIsDirectory
160 stub SHNetConnectionDialog
161 stdcall SHRunControlPanel (long long) SHRunControlPanel
162 stdcall SHSimpleIDListFromPath (ptr) SHSimpleIDListFromPath
162 stdcall SHSimpleIDListFromPath (ptr) SHSimpleIDListFromPath
32AW
163 stub StrToOleStr
164 stub Win32DeleteFile
165 stdcall SHCreateDirectory(long long) SHCreateDirectory
...
...
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