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
e38cbd82
Commit
e38cbd82
authored
Aug 10, 2016
by
Piotr Caban
Committed by
Alexandre Julliard
Aug 11, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Add wcsftime_l.
Based on Daniel Lehman's patch. Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
1505684a
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
28 additions
and
17 deletions
+28
-17
api-ms-win-crt-time-l1-1-0.spec
...pi-ms-win-crt-time-l1-1-0/api-ms-win-crt-time-l1-1-0.spec
+1
-1
msvcr100.spec
dlls/msvcr100/msvcr100.spec
+1
-1
msvcr110.spec
dlls/msvcr110/msvcr110.spec
+1
-1
msvcr120.spec
dlls/msvcr120/msvcr120.spec
+1
-1
msvcr120_app.spec
dlls/msvcr120_app/msvcr120_app.spec
+1
-1
msvcr80.spec
dlls/msvcr80/msvcr80.spec
+1
-1
msvcr90.spec
dlls/msvcr90/msvcr90.spec
+1
-1
msvcrt.h
dlls/msvcrt/msvcrt.h
+2
-0
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+1
-1
time.c
dlls/msvcrt/time.c
+17
-8
ucrtbase.spec
dlls/ucrtbase/ucrtbase.spec
+1
-1
No files found.
dlls/api-ms-win-crt-time-l1-1-0/api-ms-win-crt-time-l1-1-0.spec
View file @
e38cbd82
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
@ cdecl _utime64(str ptr) ucrtbase._utime64
@ cdecl _utime64(str ptr) ucrtbase._utime64
@ cdecl _wasctime(ptr) ucrtbase._wasctime
@ cdecl _wasctime(ptr) ucrtbase._wasctime
@ cdecl _wasctime_s(ptr long ptr) ucrtbase._wasctime_s
@ cdecl _wasctime_s(ptr long ptr) ucrtbase._wasctime_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) ucrtbase.
_wcsftime_l
@ cdecl _wctime32(ptr) ucrtbase._wctime32
@ cdecl _wctime32(ptr) ucrtbase._wctime32
@ cdecl _wctime32_s(ptr long ptr) ucrtbase._wctime32_s
@ cdecl _wctime32_s(ptr long ptr) ucrtbase._wctime32_s
@ cdecl _wctime64(ptr) ucrtbase._wctime64
@ cdecl _wctime64(ptr) ucrtbase._wctime64
...
...
dlls/msvcr100/msvcr100.spec
View file @
e38cbd82
...
@@ -1491,7 +1491,7 @@
...
@@ -1491,7 +1491,7 @@
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) MSVCRT_
_wcsftime_l
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
...
...
dlls/msvcr110/msvcr110.spec
View file @
e38cbd82
...
@@ -1849,7 +1849,7 @@
...
@@ -1849,7 +1849,7 @@
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) MSVCRT_
_wcsftime_l
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
...
...
dlls/msvcr120/msvcr120.spec
View file @
e38cbd82
...
@@ -1867,7 +1867,7 @@
...
@@ -1867,7 +1867,7 @@
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) MSVCRT_
_wcsftime_l
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
...
...
dlls/msvcr120_app/msvcr120_app.spec
View file @
e38cbd82
...
@@ -1560,7 +1560,7 @@
...
@@ -1560,7 +1560,7 @@
@ cdecl _wcsdup(wstr) msvcr120._wcsdup
@ cdecl _wcsdup(wstr) msvcr120._wcsdup
@ cdecl _wcserror(long) msvcr120._wcserror
@ cdecl _wcserror(long) msvcr120._wcserror
@ cdecl _wcserror_s(ptr long long) msvcr120._wcserror_s
@ cdecl _wcserror_s(ptr long long) msvcr120._wcserror_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) msvcr120.
_wcsftime_l
@ cdecl _wcsicmp(wstr wstr) msvcr120._wcsicmp
@ cdecl _wcsicmp(wstr wstr) msvcr120._wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) msvcr120._wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) msvcr120._wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) msvcr120._wcsicoll
@ cdecl _wcsicoll(wstr wstr) msvcr120._wcsicoll
...
...
dlls/msvcr80/msvcr80.spec
View file @
e38cbd82
...
@@ -1170,7 +1170,7 @@
...
@@ -1170,7 +1170,7 @@
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) MSVCRT_
_wcsftime_l
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
...
...
dlls/msvcr90/msvcr90.spec
View file @
e38cbd82
...
@@ -1146,7 +1146,7 @@
...
@@ -1146,7 +1146,7 @@
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) MSVCRT_
_wcsftime_l
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
...
...
dlls/msvcrt/msvcrt.h
View file @
e38cbd82
...
@@ -1051,7 +1051,9 @@ int __cdecl _ismbclegal(unsigned int c);
...
@@ -1051,7 +1051,9 @@ int __cdecl _ismbclegal(unsigned int c);
int
__cdecl
_ismbstrail
(
const
unsigned
char
*
start
,
const
unsigned
char
*
str
);
int
__cdecl
_ismbstrail
(
const
unsigned
char
*
start
,
const
unsigned
char
*
str
);
int
__cdecl
MSVCRT_mbtowc
(
MSVCRT_wchar_t
*
,
const
char
*
,
MSVCRT_size_t
);
int
__cdecl
MSVCRT_mbtowc
(
MSVCRT_wchar_t
*
,
const
char
*
,
MSVCRT_size_t
);
MSVCRT_size_t
__cdecl
MSVCRT_mbstowcs
(
MSVCRT_wchar_t
*
,
const
char
*
,
MSVCRT_size_t
);
MSVCRT_size_t
__cdecl
MSVCRT_mbstowcs
(
MSVCRT_wchar_t
*
,
const
char
*
,
MSVCRT_size_t
);
MSVCRT_size_t
__cdecl
MSVCRT__mbstowcs_l
(
MSVCRT_wchar_t
*
,
const
char
*
,
MSVCRT_size_t
,
MSVCRT__locale_t
);
MSVCRT_size_t
__cdecl
MSVCRT_wcstombs
(
char
*
,
const
MSVCRT_wchar_t
*
,
MSVCRT_size_t
);
MSVCRT_size_t
__cdecl
MSVCRT_wcstombs
(
char
*
,
const
MSVCRT_wchar_t
*
,
MSVCRT_size_t
);
MSVCRT_size_t
__cdecl
MSVCRT__wcstombs_l
(
char
*
,
const
MSVCRT_wchar_t
*
,
MSVCRT_size_t
,
MSVCRT__locale_t
);
MSVCRT_intptr_t
__cdecl
MSVCRT__spawnve
(
int
,
const
char
*
,
const
char
*
const
*
,
const
char
*
const
*
);
MSVCRT_intptr_t
__cdecl
MSVCRT__spawnve
(
int
,
const
char
*
,
const
char
*
const
*
,
const
char
*
const
*
);
MSVCRT_intptr_t
__cdecl
MSVRT__spawnvpe
(
int
,
const
char
*
,
const
char
*
const
*
,
const
char
*
const
*
);
MSVCRT_intptr_t
__cdecl
MSVRT__spawnvpe
(
int
,
const
char
*
,
const
char
*
const
*
,
const
char
*
const
*
);
MSVCRT_intptr_t
__cdecl
MSVCRT__wspawnve
(
int
,
const
MSVCRT_wchar_t
*
,
const
MSVCRT_wchar_t
*
const
*
,
const
MSVCRT_wchar_t
*
const
*
);
MSVCRT_intptr_t
__cdecl
MSVCRT__wspawnve
(
int
,
const
MSVCRT_wchar_t
*
,
const
MSVCRT_wchar_t
*
const
*
,
const
MSVCRT_wchar_t
*
const
*
);
...
...
dlls/msvcrt/msvcrt.spec
View file @
e38cbd82
...
@@ -1101,7 +1101,7 @@
...
@@ -1101,7 +1101,7 @@
# stub _wcsdup_dbg(wstr long str long)
# stub _wcsdup_dbg(wstr long str long)
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
# stub _wcsftime_l(ptr long wstr ptr ptr)
@ cdecl _wcsftime_l(ptr long wstr ptr ptr) MSVCRT__wcsftime_l
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
...
...
dlls/msvcrt/time.c
View file @
e38cbd82
...
@@ -1264,24 +1264,24 @@ MSVCRT_size_t CDECL MSVCRT_strftime( char *str, MSVCRT_size_t max, const char *f
...
@@ -1264,24 +1264,24 @@ MSVCRT_size_t CDECL MSVCRT_strftime( char *str, MSVCRT_size_t max, const char *f
}
}
/*********************************************************************
/*********************************************************************
*
wcsftime
(MSVCRT.@)
*
_wcsftime_l
(MSVCRT.@)
*/
*/
MSVCRT_size_t
CDECL
MSVCRT_
wcsftime
(
MSVCRT_wchar_t
*
str
,
MSVCRT_size_t
max
,
MSVCRT_size_t
CDECL
MSVCRT_
_wcsftime_l
(
MSVCRT_wchar_t
*
str
,
MSVCRT_size_t
max
,
const
MSVCRT_wchar_t
*
format
,
const
struct
MSVCRT_tm
*
mstm
)
const
MSVCRT_wchar_t
*
format
,
const
struct
MSVCRT_tm
*
mstm
,
MSVCRT__locale_t
loc
)
{
{
char
*
s
,
*
fmt
;
char
*
s
,
*
fmt
;
MSVCRT_size_t
len
;
MSVCRT_size_t
len
;
TRACE
(
"%p %ld %s %p
\n
"
,
str
,
max
,
debugstr_w
(
format
),
mstm
);
TRACE
(
"%p %ld %s %p
%p
\n
"
,
str
,
max
,
debugstr_w
(
format
),
mstm
,
loc
);
len
=
MSVCRT_
wcstombs
(
NULL
,
format
,
0
)
+
1
;
len
=
MSVCRT_
_wcstombs_l
(
NULL
,
format
,
0
,
loc
)
+
1
;
if
(
!
(
fmt
=
MSVCRT_malloc
(
len
)))
return
0
;
if
(
!
(
fmt
=
MSVCRT_malloc
(
len
)))
return
0
;
MSVCRT_
wcstombs
(
fmt
,
format
,
len
);
MSVCRT_
_wcstombs_l
(
fmt
,
format
,
len
,
loc
);
if
((
s
=
MSVCRT_malloc
(
max
*
4
)))
if
((
s
=
MSVCRT_malloc
(
max
*
4
)))
{
{
if
(
!
MSVCRT_
strftime
(
s
,
max
*
4
,
fmt
,
mstm
))
s
[
0
]
=
0
;
if
(
!
MSVCRT_
_strftime_l
(
s
,
max
*
4
,
fmt
,
mstm
,
loc
))
s
[
0
]
=
0
;
len
=
MSVCRT_
mbstowcs
(
str
,
s
,
max
);
len
=
MSVCRT_
_mbstowcs_l
(
str
,
s
,
max
,
loc
);
MSVCRT_free
(
s
);
MSVCRT_free
(
s
);
}
}
else
len
=
0
;
else
len
=
0
;
...
@@ -1290,6 +1290,15 @@ MSVCRT_size_t CDECL MSVCRT_wcsftime( MSVCRT_wchar_t *str, MSVCRT_size_t max,
...
@@ -1290,6 +1290,15 @@ MSVCRT_size_t CDECL MSVCRT_wcsftime( MSVCRT_wchar_t *str, MSVCRT_size_t max,
return
len
;
return
len
;
}
}
/*********************************************************************
* wcsftime (MSVCRT.@)
*/
MSVCRT_size_t
CDECL
MSVCRT_wcsftime
(
MSVCRT_wchar_t
*
str
,
MSVCRT_size_t
max
,
const
MSVCRT_wchar_t
*
format
,
const
struct
MSVCRT_tm
*
mstm
)
{
return
MSVCRT__wcsftime_l
(
str
,
max
,
format
,
mstm
,
NULL
);
}
static
char
*
asctime_buf
(
char
*
buf
,
const
struct
MSVCRT_tm
*
mstm
)
static
char
*
asctime_buf
(
char
*
buf
,
const
struct
MSVCRT_tm
*
mstm
)
{
{
static
const
char
wday
[
7
][
4
]
=
{
"Sun"
,
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
};
static
const
char
wday
[
7
][
4
]
=
{
"Sun"
,
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
};
...
...
dlls/ucrtbase/ucrtbase.spec
View file @
e38cbd82
...
@@ -2016,7 +2016,7 @@
...
@@ -2016,7 +2016,7 @@
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcsdup(wstr) MSVCRT__wcsdup
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror(long) MSVCRT__wcserror
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@ cdecl _wcserror_s(ptr long long) MSVCRT__wcserror_s
@
stub
_wcsftime_l
@
cdecl _wcsftime_l(ptr long wstr ptr ptr) MSVCRT_
_wcsftime_l
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp(wstr wstr) MSVCRT__wcsicmp
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicmp_l(wstr wstr ptr) MSVCRT__wcsicmp_l
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
@ cdecl _wcsicoll(wstr wstr) MSVCRT__wcsicoll
...
...
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