mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 04:33:12 +00:00
[UCRT] Import Microsoft.Windows.SDK.CRTSource version 10.0.22621.3
Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3 License: MIT
This commit is contained in:
parent
f1b60c66f0
commit
04e0dc4a7a
568 changed files with 115483 additions and 0 deletions
46
sdk/lib/ucrt/startup/initterm.cpp
Normal file
46
sdk/lib/ucrt/startup/initterm.cpp
Normal file
|
@ -0,0 +1,46 @@
|
|||
//
|
||||
// initterm.cpp
|
||||
//
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
//
|
||||
// _initterm and _initterm_e functions used during dynamic initialization.
|
||||
//
|
||||
#include <corecrt_internal.h>
|
||||
|
||||
|
||||
|
||||
// Calls each function in [first, last). [first, last) must be a valid range of
|
||||
// function pointers. Each function is called, in order.
|
||||
extern "C" void __cdecl _initterm(_PVFV* const first, _PVFV* const last)
|
||||
{
|
||||
for (_PVFV* it = first; it != last; ++it)
|
||||
{
|
||||
if (*it == nullptr)
|
||||
continue;
|
||||
|
||||
(**it)();
|
||||
}
|
||||
}
|
||||
|
||||
// Calls each function in [first, last). [first, last) must be a valid range of
|
||||
// function pointers. Each function must return zero on success, nonzero on
|
||||
// failure. If any function returns nonzero, iteration stops immediately and
|
||||
// the nonzero value is returned. Otherwise all functions are called and zero
|
||||
// is returned.
|
||||
//
|
||||
// If a nonzero value is returned, it is expected to be one of the runtime error
|
||||
// values (_RT_{NAME}, defined in the internal header files).
|
||||
extern "C" int __cdecl _initterm_e(_PIFV* const first, _PIFV* const last)
|
||||
{
|
||||
for (_PIFV* it = first; it != last; ++it)
|
||||
{
|
||||
if (*it == nullptr)
|
||||
continue;
|
||||
|
||||
int const result = (**it)();
|
||||
if (result != 0)
|
||||
return result;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue