mirror of
https://github.com/reactos/reactos.git
synced 2025-06-24 20:59:44 +00:00
26 lines
514 B
C++
26 lines
514 B
C++
![]() |
//
|
||
|
// rand_s.cpp
|
||
|
//
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// The implementation of the rand_s() function, which generates random numbers.
|
||
|
//
|
||
|
#include <corecrt_internal.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
|
||
|
|
||
|
extern "C" errno_t __cdecl rand_s(unsigned int* const result)
|
||
|
{
|
||
|
_VALIDATE_RETURN_ERRCODE(result != nullptr, EINVAL);
|
||
|
*result = 0;
|
||
|
|
||
|
if (!__acrt_RtlGenRandom(result, static_cast<ULONG>(sizeof(*result))))
|
||
|
{
|
||
|
errno = ENOMEM;
|
||
|
return errno;
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|