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
841fc180
Commit
841fc180
authored
Jan 15, 2010
by
Andrew Nguyen
Committed by
Alexandre Julliard
Jan 18, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Implement and test rand_s.
parent
3822f9d2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
75 additions
and
1 deletion
+75
-1
Makefile.in
dlls/msvcrt/Makefile.in
+1
-1
misc.c
dlls/msvcrt/misc.c
+14
-0
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+1
-0
Makefile.in
dlls/msvcrt/tests/Makefile.in
+1
-0
misc.c
dlls/msvcrt/tests/misc.c
+58
-0
No files found.
dlls/msvcrt/Makefile.in
View file @
841fc180
...
...
@@ -6,7 +6,7 @@ VPATH = @srcdir@
MODULE
=
msvcrt.dll
IMPORTLIB
=
msvcrt
IMPORTS
=
kernel32 ntdll
DELAYIMPORTS
=
user32
DELAYIMPORTS
=
advapi32
user32
C_SRCS
=
\
console.c
\
...
...
dlls/msvcrt/misc.c
View file @
841fc180
...
...
@@ -25,6 +25,7 @@
#include "msvcrt.h"
#include "wine/debug.h"
#include "ntsecapi.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
msvcrt
);
...
...
@@ -61,6 +62,19 @@ int CDECL MSVCRT_rand(void)
}
/*********************************************************************
* rand_s (MSVCRT.@)
*/
int
CDECL
MSVCRT_rand_s
(
unsigned
int
*
pval
)
{
if
(
!
pval
||
!
RtlGenRandom
(
pval
,
sizeof
(
*
pval
)))
{
*
MSVCRT__errno
()
=
MSVCRT_EINVAL
;
return
MSVCRT_EINVAL
;
}
return
0
;
}
/*********************************************************************
* _sleep (MSVCRT.@)
*/
void
CDECL
MSVCRT__sleep
(
MSVCRT_ulong
timeout
)
...
...
dlls/msvcrt/msvcrt.spec
View file @
841fc180
...
...
@@ -736,6 +736,7 @@
@ cdecl qsort(ptr long long ptr) ntdll.qsort
@ cdecl raise(long) MSVCRT_raise
@ cdecl rand() MSVCRT_rand
@ cdecl rand_s(ptr) MSVCRT_rand_s
@ cdecl realloc(ptr long) MSVCRT_realloc
@ cdecl remove(str) MSVCRT_remove
@ cdecl rename(str str) MSVCRT_rename
...
...
dlls/msvcrt/tests/Makefile.in
View file @
841fc180
...
...
@@ -16,6 +16,7 @@ CTESTS = \
file.c
\
headers.c
\
heap.c
\
misc.c
\
printf.c
\
scanf.c
\
signal.c
\
...
...
dlls/msvcrt/tests/misc.c
0 → 100644
View file @
841fc180
/*
* Unit tests for miscellaneous msvcrt functions
*
* Copyright 2010 Andrew Nguyen
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "wine/test.h"
#include <errno.h>
static
int
(
__cdecl
*
prand_s
)(
unsigned
int
*
);
static
void
init
(
void
)
{
HMODULE
hmod
=
GetModuleHandleA
(
"msvcrt.dll"
);
prand_s
=
(
void
*
)
GetProcAddress
(
hmod
,
"rand_s"
);
}
static
void
test_rand_s
(
void
)
{
int
ret
;
unsigned
int
rand
;
if
(
!
prand_s
)
{
win_skip
(
"rand_s is not available
\n
"
);
return
;
}
errno
=
EBADF
;
ret
=
prand_s
(
NULL
);
ok
(
ret
==
EINVAL
,
"Expected rand_s to return EINVAL, got %d
\n
"
,
ret
);
ok
(
errno
==
EINVAL
,
"Expected errno to return EINVAL, got %d
\n
"
,
errno
);
ret
=
prand_s
(
&
rand
);
ok
(
ret
==
0
,
"Expected rand_s to return 0, got %d
\n
"
,
ret
);
}
START_TEST
(
misc
)
{
init
();
test_rand_s
();
}
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