mirror of
https://github.com/reactos/reactos.git
synced 2025-05-01 11:39:58 +00:00

Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3 License: MIT
25 lines
514 B
C++
25 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;
|
|
}
|