Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
e7394973
Commit
e7394973
authored
Oct 21, 2001
by
Guy L. Albertelli
Committed by
Alexandre Julliard
Oct 21, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Add stubs for _25, _33, _35
- Add/correct code for: _15, _29, _30, _31, _151, _152, _153, _154, _158.
parent
06fb2139
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
158 additions
and
48 deletions
+158
-48
ordinal.c
dlls/shlwapi/ordinal.c
+136
-31
shlwapi.spec
dlls/shlwapi/shlwapi.spec
+22
-17
No files found.
dlls/shlwapi/ordinal.c
View file @
e7394973
...
...
@@ -19,6 +19,7 @@
#include "wine/unicode.h"
#include "wine/obj_base.h"
#include "wingdi.h"
#include "winreg.h"
#include "winuser.h"
#include "debugtools.h"
...
...
@@ -69,6 +70,53 @@ DWORD WINAPI SHLWAPI_2 (LPCWSTR x,LPVOID y)
}
/*************************************************************************
* SHLWAPI_15 [SHLWAPI.15]
*
* Function:
* Retrieves IE "AcceptLanguage" value from registry
*
*/
HRESULT
WINAPI
SHLWAPI_15
(
LPWSTR
langbuf
,
LPDWORD
buflen
)
{
CHAR
*
mystr
;
DWORD
mystrlen
,
mytype
;
HKEY
mykey
;
LCID
mylcid
;
mystrlen
=
*
buflen
;
mystr
=
(
CHAR
*
)
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
mystrlen
);
RegOpenKeyA
(
HKEY_CURRENT_USER
,
"Software
\\
Microsoft
\\
Internet Explorer
\\
International"
,
&
mykey
);
if
(
RegQueryValueExA
(
mykey
,
"AcceptLanguage"
,
0
,
&
mytype
,
mystr
,
&
mystrlen
))
{
mylcid
=
GetUserDefaultLCID
();
/* somehow the mylcid translates into "en-us"
* this is similar to "LOCALE_SABBREVLANGNAME"
* which could be gotten via GetLocaleInfo.
* The only problem is LOCALE_SABBREVLANGUAGE" is
* a 3 char string (first 2 are country code and third is
* letter for "sublanguage", which does not come close to
* "en-us"
*/
lstrcpynA
(
mystr
,
"en-us"
,
mystrlen
);
mystrlen
=
lstrlenA
(
mystr
);
}
else
{
/* handle returned string */
FIXME
(
"missing code
\n
"
);
}
RegCloseKey
(
mykey
);
*
buflen
=
MultiByteToWideChar
(
0
,
0
,
mystr
,
-
1
,
langbuf
,
(
*
buflen
)
-
1
);
HeapFree
(
GetProcessHeap
(),
0
,
mystr
);
TRACE
(
"language is %s
\n
"
,
debugstr_w
(
langbuf
));
return
0
;
}
/*************************************************************************
* @ [SHLWAPI.16]
*/
HRESULT
WINAPI
SHLWAPI_16
(
...
...
@@ -127,22 +175,43 @@ DWORD WINAPI SHLWAPI_24 (
}
/*************************************************************************
* SHLWAPI_25 [SHLWAPI.25]
*
*/
BOOL
WINAPI
SHLWAPI_25
(
DWORD
dw1
)
{
FIXME
(
"(%08lx): stub
\n
"
,
dw1
);
return
FALSE
;
}
/*************************************************************************
* SHLWAPI_29 [SHLWAPI.29]
*
* Seems to be iswspace
*/
BOOL
WINAPI
SHLWAPI_29
(
WCHAR
wc
)
{
return
(
get_char_typeW
(
wc
)
&
C1_SPACE
)
!=
0
;
}
/*************************************************************************
* SHLWAPI_30 [SHLWAPI.30]
*
* Seems to be
an isspaceW.
* Seems to be
iswblank
*/
BOOL
WINAPI
SHLWAPI_30
(
LPWSTR
lpcChar
)
BOOL
WINAPI
SHLWAPI_30
(
WCHAR
wc
)
{
switch
(
*
lpcChar
)
{
case
(
WCHAR
)
'\t'
:
case
(
WCHAR
)
' '
:
case
160
:
case
12288
:
case
65279
:
return
TRUE
;
}
return
FALSE
;
return
(
get_char_typeW
(
wc
)
&
C1_BLANK
)
!=
0
;
}
/*************************************************************************
* SHLWAPI_31 [SHLWAPI.31]
*
* Seems to be iswpunct
*/
BOOL
WINAPI
SHLWAPI_31
(
WCHAR
wc
)
{
return
(
get_char_typeW
(
wc
)
&
C1_PUNCT
)
!=
0
;
}
/*************************************************************************
...
...
@@ -160,6 +229,27 @@ BOOL WINAPI SHLWAPI_32(LPCWSTR lpcChar)
}
/*************************************************************************
* SHLWAPI_33 [SHLWAPI.33]
*
*/
BOOL
WINAPI
SHLWAPI_33
(
DWORD
dw1
)
{
FIXME
(
"(%08lx): stub
\n
"
,
dw1
);
if
(
HIWORD
(
dw1
))
return
TRUE
;
return
FALSE
;
}
/*************************************************************************
* SHLWAPI_35 [SHLWAPI.35]
*
*/
BOOL
WINAPI
SHLWAPI_35
(
LPVOID
p1
,
DWORD
dw2
,
LPVOID
p3
)
{
FIXME
(
"(%p, 0x%08lx, %p): stub
\n
"
,
p1
,
dw2
,
p3
);
return
TRUE
;
}
/*************************************************************************
* @ [SHLWAPI.40]
*
* Get pointer to next Unicode character.
...
...
@@ -187,38 +277,44 @@ INT WINAPI SHLWAPI_74(HWND hWnd, INT nItem, LPWSTR lpsDest,INT nDestLen)
/*************************************************************************
* @ [SHLWAPI.151]
*
*
pStr "HTTP/1.1", dw1 0x5
*
Function: Compare two ASCII strings for "len" bytes.
*
Returns: *str1-*str2 (case sensitive)
*/
DWORD
WINAPI
SHLWAPI_151
(
LPSTR
pStr
,
LPVOID
ptr
,
DWORD
dw1
)
DWORD
WINAPI
SHLWAPI_151
(
LPSTR
str1
,
LPSTR
str2
,
INT
len
)
{
FIXME
(
"('%s', %p, %08lx): stub
\n
"
,
pStr
,
ptr
,
dw1
);
return
0
;
return
strncmp
(
str1
,
str2
,
len
);
}
/*************************************************************************
* @ [SHLWAPI.152]
*
* Function: Compare two WIDE strings for "len" bytes.
* Returns: *str1-*str2 (case sensitive)
*/
DWORD
WINAPI
SHLWAPI_152
(
LPWSTR
str1
,
LPWSTR
str2
,
INT
len
)
{
if
(
!
len
)
return
0
;
while
(
--
len
&&
*
str1
&&
*
str1
==
*
str2
)
{
str1
++
;
str2
++
;
}
return
*
str1
-
*
str2
;
return
strncmpW
(
str1
,
str2
,
len
);
}
/*************************************************************************
* @ [SHLWAPI.153]
* Function: Compare two ASCII strings for "len" bytes via caseless compare.
* Returns: *str1-*str2 (case insensitive)
*/
DWORD
WINAPI
SHLWAPI_153
(
LPSTR
str1
,
LPSTR
str2
,
DWORD
dw3
)
DWORD
WINAPI
SHLWAPI_153
(
LPSTR
str1
,
LPSTR
str2
,
DWORD
len
)
{
FIXME
(
"'%s' '%s' %08lx - stub
\n
"
,
str1
,
str2
,
dw3
);
return
0
;
return
strncasecmp
(
str1
,
str2
,
len
);
}
/*************************************************************************
* @ [SHLWAPI.154]
*
* Function: Compare two WIDE strings for "len" bytes via caseless compare.
* Returns: *str1-*str2 (case insensitive)
*/
DWORD
WINAPI
SHLWAPI_154
(
LPWSTR
str1
,
LPWSTR
str2
,
DWORD
len
)
{
return
strncmpiW
(
str1
,
str2
,
len
);
}
/*************************************************************************
...
...
@@ -228,8 +324,17 @@ DWORD WINAPI SHLWAPI_153(LPSTR str1, LPSTR str2, DWORD dw3)
*/
DWORD
WINAPI
SHLWAPI_156
(
LPWSTR
str1
,
LPWSTR
str2
)
{
while
(
*
str1
&&
(
*
str1
==
*
str2
))
{
str1
++
;
str2
++
;
}
return
(
INT
)(
*
str1
-
*
str2
);
return
strcmpW
(
str1
,
str2
);
}
/*************************************************************************
* @ [SHLWAPI.158]
*
* Case insensitive string compare. Does not SetLastError(). ??
*/
DWORD
WINAPI
SHLWAPI_158
(
LPWSTR
str1
,
LPWSTR
str2
)
{
return
strcmpiW
(
str1
,
str2
);
}
/*************************************************************************
...
...
dlls/shlwapi/shlwapi.spec
View file @
e7394973
...
...
@@ -24,7 +24,7 @@ debug_channels (shell)
12 stub @
13 stub @
14 stub @
15 st
ub @
15 st
dcall @(ptr ptr) SHLWAPI_15
16 stdcall @(long long long long) SHLWAPI_16
17 stub @
18 stub @
...
...
@@ -34,17 +34,17 @@ debug_channels (shell)
22 stub @
23 stdcall @(ptr ptr long) SHLWAPI_23
24 stdcall @(ptr ptr long) SHLWAPI_24
25 st
ub @
25 st
dcall @(long) SHLWAPI_25
26 stub @
27 stub @
28 stub @
29 st
ub @
30 st
ub @
31 st
ub @
32 stdcall @(ptr) SHLWAPI_32
33 st
ub @
29 st
dcall @(long) SHLWAPI_29
30 st
dcall @(long) SHLWAPI_30
31 st
dcall @(long) SHLWAPI_31
32 stdcall @(ptr)
SHLWAPI_32
33 st
dcall @(long) SHLWAPI_33
34 stub @
35 st
ub @
35 st
dcall @(ptr long ptr) SHLWAPI_35
36 stub @
37 forward @ user32.CallWindowProcW
38 forward @ user32.CharLowerW
...
...
@@ -163,11 +163,11 @@ debug_channels (shell)
151 stdcall @(str ptr long) SHLWAPI_151
152 stdcall @(wstr wstr long) SHLWAPI_152
153 stdcall @(long long long) SHLWAPI_153
154 st
ub @
154 st
dcall @(wstr wstr long) SHLWAPI_154
155 stub @
156 stdcall @(wstr wstr) SHLWAPI_156
157 stub @
158 st
ub @ #
(wstr wstr) SHLWAPI_158
158 st
dcall @
(wstr wstr) SHLWAPI_158
159 forward @ kernel32.CompareStringW
160 stub @
161 stub @
...
...
@@ -585,7 +585,7 @@ debug_channels (shell)
@ stub SHQueryInfoKeyW
@ stdcall SHQueryValueExA(long str ptr ptr ptr ptr) SHQueryValueExA
@ stdcall SHQueryValueExW(long wstr ptr ptr ptr ptr) SHQueryValueExW
@ st
ub
SHRegCloseUSKey
@ st
dcall SHRegCloseUSKey(ptr)
SHRegCloseUSKey
@ stub SHRegCreateUSKeyA
@ stub SHRegCreateUSKeyW
@ stub SHRegDeleteEmptyUSKeyA
...
...
@@ -598,12 +598,12 @@ debug_channels (shell)
@ stub SHRegEnumUSValueW
@ stdcall SHRegGetBoolUSValueA(str str long long)SHRegGetBoolUSValueA
@ stdcall SHRegGetBoolUSValueW(wstr wstr long long)SHRegGetBoolUSValueW
@ stdcall SHRegGetUSValueA (
p
tr str ptr ptr ptr long ptr long ) SHRegGetUSValueA
@ stdcall SHRegGetUSValueW (
p
tr wstr ptr ptr ptr long ptr long ) SHRegGetUSValueW
@ stdcall SHRegGetUSValueA (
s
tr str ptr ptr ptr long ptr long ) SHRegGetUSValueA
@ stdcall SHRegGetUSValueW (
ws
tr wstr ptr ptr ptr long ptr long ) SHRegGetUSValueW
@ stdcall SHRegOpenUSKeyA ( str long long long long ) SHRegOpenUSKeyA
@ stdcall SHRegOpenUSKeyW ( wstr long long long long ) SHRegOpenUSKeyW
@ st
ub
SHRegQueryInfoUSKeyA
@ st
ub
SHRegQueryInfoUSKeyW
@ st
dcall SHRegQueryInfoUSKeyA ( long ptr ptr ptr ptr long )
SHRegQueryInfoUSKeyA
@ st
dcall SHRegQueryInfoUSKeyW ( long ptr ptr ptr ptr long )
SHRegQueryInfoUSKeyW
@ stdcall SHRegQueryUSValueA ( long str ptr ptr ptr long ptr long ) SHRegQueryUSValueA
@ stdcall SHRegQueryUSValueW ( long wstr ptr ptr ptr long ptr long ) SHRegQueryUSValueW
@ stub SHRegSetUSValueA
...
...
@@ -673,8 +673,8 @@ debug_channels (shell)
@ stub UrlCreateFromPathW
@ stdcall UrlEscapeA(str ptr ptr long)UrlEscapeA
@ stdcall UrlEscapeW(wstr ptr ptr long)UrlEscapeW
@ st
ub
UrlGetLocationA
@ st
ub
UrlGetLocationW
@ st
dcall UrlGetLocationA(str)
UrlGetLocationA
@ st
dcall UrlGetLocationW(wstr)
UrlGetLocationW
@ stub UrlGetPartA
@ stub UrlGetPartW
@ stdcall UrlHashA(str ptr long) UrlHashA
...
...
@@ -711,6 +711,8 @@ debug_channels (shell)
@ stdcall _SHGetInstanceExplorer@4(ptr) _SHGetInstanceExplorer
@ stub PathUndecorateA
@ stub PathUndecorateW
@ stub PathUnExpandEnvStringsA
@ stub PathUnExpandEnvStringsW
@ stub SHCopyKeyA
@ stub SHCopyKeyW
@ stub SHAutoComplete
...
...
@@ -720,6 +722,9 @@ debug_channels (shell)
@ stub SHCreateThread
@ stub SHGetThreadRef
@ stub SHRegDuplicateHKey
@ stub SHRegSetPathA
@ stub SHRegSetPathW
@ stub SHRegisterValidateTemplate
@ stub SHSetThreadRef
@ stub SHSkipJunction
@ stub SHStrDupA
...
...
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