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
c144859b
Commit
c144859b
authored
Jun 04, 2009
by
Piotr Caban
Committed by
Alexandre Julliard
Jun 05, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jscript: Fix DateConstr_value (with no argument) implementation.
parent
59a21784
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
3 deletions
+13
-3
date.c
dlls/jscript/date.c
+13
-3
No files found.
dlls/jscript/date.c
View file @
c144859b
...
...
@@ -25,11 +25,16 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
jscript
);
/* 1601 to 1970 is 369 years plus 89 leap days */
#define TIME_EPOCH ((ULONGLONG)(369 * 365 + 89) * 86400 * 1000)
typedef
struct
{
DispatchEx
dispex
;
/* ECMA-262 3rd Edition 15.9.1.1 */
DOUBLE
time
;
LONG
bias
;
}
DateInstance
;
static
const
WCHAR
toStringW
[]
=
{
't'
,
'o'
,
'S'
,
't'
,
'r'
,
'i'
,
'n'
,
'g'
,
0
};
...
...
@@ -474,6 +479,9 @@ static HRESULT create_date(script_ctx_t *ctx, BOOL use_constr, DOUBLE time, Disp
{
DateInstance
*
date
;
HRESULT
hres
;
TIME_ZONE_INFORMATION
tzi
;
GetTimeZoneInformation
(
&
tzi
);
date
=
heap_alloc_zero
(
sizeof
(
DateInstance
));
if
(
!
date
)
...
...
@@ -489,6 +497,7 @@ static HRESULT create_date(script_ctx_t *ctx, BOOL use_constr, DOUBLE time, Disp
}
date
->
time
=
time
;
date
->
bias
=
tzi
.
Bias
;
*
ret
=
&
date
->
dispex
;
return
S_OK
;
...
...
@@ -508,12 +517,13 @@ static HRESULT DateConstr_value(DispatchEx *dispex, LCID lcid, WORD flags, DISPP
/* ECMA-262 3rd Edition 15.9.3.3 */
case
0
:
{
FILETIME
time
;
LONGLONG
lltime
;
GetSystemTimeAsFileTime
(
&
time
);
lltime
=
((
LONGLONG
)
time
.
dwHighDateTime
<<
32
)
+
time
.
dwLowDateTime
;
hres
=
create_date
(
dispex
->
ctx
,
TRUE
,
floor
((
DOUBLE
)(
time
.
dwLowDateTime
/
1e6
)
+
(
DOUBLE
)
time
.
dwHighDateTime
*
((
DOUBLE
)
UINT_MAX
+
1
.
0
)
/
1.e6
),
&
date
);
hres
=
create_date
(
dispex
->
ctx
,
TRUE
,
lltime
/
10000
-
TIME_EPOCH
,
&
date
);
if
(
FAILED
(
hres
))
return
hres
;
break
;
...
...
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