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
15eba399
Commit
15eba399
authored
Jun 28, 2015
by
Nikolay Sivov
Committed by
Alexandre Julliard
Jun 29, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kernel32: Implement EnumCalendarInfoExEx().
parent
c1c42d3c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
9 deletions
+33
-9
kernel32.spec
dlls/kernel32/kernel32.spec
+1
-1
lcformat.c
dlls/kernel32/lcformat.c
+30
-8
winnls.h
include/winnls.h
+2
-0
No files found.
dlls/kernel32/kernel32.spec
View file @
15eba399
...
...
@@ -396,7 +396,7 @@
@ stdcall EnterCriticalSection(ptr) ntdll.RtlEnterCriticalSection
@ stdcall EnumCalendarInfoA(ptr long long long)
@ stdcall EnumCalendarInfoExA(ptr long long long)
# @ stub EnumCalendarInfoExEx
@ stdcall EnumCalendarInfoExEx(ptr wstr long wstr long long)
@ stdcall EnumCalendarInfoExW(ptr long long long)
@ stdcall EnumCalendarInfoW(ptr long long long)
@ stdcall EnumDateFormatsA(ptr long long)
...
...
dlls/kernel32/lcformat.c
View file @
15eba399
...
...
@@ -1974,6 +1974,7 @@ BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW proc, LCID lcid, DWORD flags)
enum
enumcalendar_callback_type
{
CALLBACK_ENUMPROC
,
CALLBACK_ENUMPROCEX
,
CALLBACK_ENUMPROCEXEX
};
struct
enumcalendar_context
{
...
...
@@ -1981,10 +1982,12 @@ struct enumcalendar_context {
union
{
CALINFO_ENUMPROCW
callback
;
/* user callback pointer */
CALINFO_ENUMPROCEXW
callbackex
;
CALINFO_ENUMPROCEXEX
callbackexex
;
}
u
;
LCID
lcid
;
/* locale of interest */
CALID
calendar
;
/* specific calendar or ENUM_ALL_CALENDARS */
CALTYPE
caltype
;
/* calendar information type */
LPARAM
lParam
;
/* user input parameter passed to callback, for ExEx case only */
BOOL
unicode
;
/* A vs W callback type, only for regular and Ex callbacks */
};
...
...
@@ -2090,6 +2093,9 @@ static BOOL NLS_EnumCalendarInfo(const struct enumcalendar_context *ctxt)
case
CALLBACK_ENUMPROCEX
:
ret
=
ctxt
->
u
.
callbackex
(
buf
,
calendar
);
break
;
case
CALLBACK_ENUMPROCEXEX
:
ret
=
ctxt
->
u
.
callbackexex
(
buf
,
calendar
,
NULL
,
ctxt
->
lParam
);
break
;
default:
;
}
...
...
@@ -2122,8 +2128,6 @@ cleanup:
/******************************************************************************
* EnumCalendarInfoA [KERNEL32.@]
*
* See EnumCalendarInfoAW.
*/
BOOL
WINAPI
EnumCalendarInfoA
(
CALINFO_ENUMPROCA
calinfoproc
,
LCID
locale
,
CALID
calendar
,
CALTYPE
caltype
)
...
...
@@ -2137,14 +2141,13 @@ BOOL WINAPI EnumCalendarInfoA( CALINFO_ENUMPROCA calinfoproc,LCID locale,
ctxt
.
lcid
=
locale
;
ctxt
.
calendar
=
calendar
;
ctxt
.
caltype
=
caltype
;
ctxt
.
lParam
=
0
;
ctxt
.
unicode
=
FALSE
;
return
NLS_EnumCalendarInfo
(
&
ctxt
);
}
/******************************************************************************
* EnumCalendarInfoW [KERNEL32.@]
*
* See EnumCalendarInfoAW.
*/
BOOL
WINAPI
EnumCalendarInfoW
(
CALINFO_ENUMPROCW
calinfoproc
,
LCID
locale
,
CALID
calendar
,
CALTYPE
caltype
)
...
...
@@ -2158,14 +2161,13 @@ BOOL WINAPI EnumCalendarInfoW( CALINFO_ENUMPROCW calinfoproc,LCID locale,
ctxt
.
lcid
=
locale
;
ctxt
.
calendar
=
calendar
;
ctxt
.
caltype
=
caltype
;
ctxt
.
lParam
=
0
;
ctxt
.
unicode
=
TRUE
;
return
NLS_EnumCalendarInfo
(
&
ctxt
);
}
/******************************************************************************
* EnumCalendarInfoExA [KERNEL32.@]
*
* See EnumCalendarInfoAW.
*/
BOOL
WINAPI
EnumCalendarInfoExA
(
CALINFO_ENUMPROCEXA
calinfoproc
,
LCID
locale
,
CALID
calendar
,
CALTYPE
caltype
)
...
...
@@ -2179,14 +2181,13 @@ BOOL WINAPI EnumCalendarInfoExA( CALINFO_ENUMPROCEXA calinfoproc,LCID locale,
ctxt
.
lcid
=
locale
;
ctxt
.
calendar
=
calendar
;
ctxt
.
caltype
=
caltype
;
ctxt
.
lParam
=
0
;
ctxt
.
unicode
=
FALSE
;
return
NLS_EnumCalendarInfo
(
&
ctxt
);
}
/******************************************************************************
* EnumCalendarInfoExW [KERNEL32.@]
*
* See EnumCalendarInfoAW.
*/
BOOL
WINAPI
EnumCalendarInfoExW
(
CALINFO_ENUMPROCEXW
calinfoproc
,
LCID
locale
,
CALID
calendar
,
CALTYPE
caltype
)
...
...
@@ -2200,6 +2201,27 @@ BOOL WINAPI EnumCalendarInfoExW( CALINFO_ENUMPROCEXW calinfoproc,LCID locale,
ctxt
.
lcid
=
locale
;
ctxt
.
calendar
=
calendar
;
ctxt
.
caltype
=
caltype
;
ctxt
.
lParam
=
0
;
ctxt
.
unicode
=
TRUE
;
return
NLS_EnumCalendarInfo
(
&
ctxt
);
}
/******************************************************************************
* EnumCalendarInfoExEx [KERNEL32.@]
*/
BOOL
WINAPI
EnumCalendarInfoExEx
(
CALINFO_ENUMPROCEXEX
calinfoproc
,
LPCWSTR
locale
,
CALID
calendar
,
LPCWSTR
reserved
,
CALTYPE
caltype
,
LPARAM
lParam
)
{
struct
enumcalendar_context
ctxt
;
TRACE
(
"(%p,%s,0x%08x,%p,0x%08x,0x%ld)
\n
"
,
calinfoproc
,
debugstr_w
(
locale
),
calendar
,
reserved
,
caltype
,
lParam
);
ctxt
.
type
=
CALLBACK_ENUMPROCEXEX
;
ctxt
.
u
.
callbackexex
=
calinfoproc
;
ctxt
.
lcid
=
LocaleNameToLCID
(
locale
,
0
);
ctxt
.
calendar
=
calendar
;
ctxt
.
caltype
=
caltype
;
ctxt
.
lParam
=
lParam
;
ctxt
.
unicode
=
TRUE
;
return
NLS_EnumCalendarInfo
(
&
ctxt
);
}
include/winnls.h
View file @
15eba399
...
...
@@ -733,6 +733,7 @@ typedef struct _nlsversioninfoex {
/* Define a bunch of callback types */
typedef
BOOL
(
CALLBACK
*
CALINFO_ENUMPROCEXEX
)(
LPWSTR
,
CALID
,
LPWSTR
,
LPARAM
);
#if defined(STRICT)
typedef
BOOL
(
CALLBACK
*
CALINFO_ENUMPROCA
)(
LPSTR
);
typedef
BOOL
(
CALLBACK
*
CALINFO_ENUMPROCW
)(
LPWSTR
);
...
...
@@ -832,6 +833,7 @@ WINBASEAPI BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CAL
WINBASEAPI
BOOL
WINAPI
EnumCalendarInfoExA
(
CALINFO_ENUMPROCEXA
,
LCID
,
CALID
,
CALTYPE
);
WINBASEAPI
BOOL
WINAPI
EnumCalendarInfoExW
(
CALINFO_ENUMPROCEXW
,
LCID
,
CALID
,
CALTYPE
);
#define EnumCalendarInfoEx WINELIB_NAME_AW(EnumCalendarInfoEx)
WINBASEAPI
BOOL
WINAPI
EnumCalendarInfoExEx
(
CALINFO_ENUMPROCEXEX
,
LPCWSTR
,
CALID
,
LPCWSTR
,
CALTYPE
,
LPARAM
);
WINBASEAPI
BOOL
WINAPI
EnumDateFormatsA
(
DATEFMT_ENUMPROCA
,
LCID
,
DWORD
);
WINBASEAPI
BOOL
WINAPI
EnumDateFormatsW
(
DATEFMT_ENUMPROCW
,
LCID
,
DWORD
);
#define EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
...
...
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