1 /* 2 * PROJECT: ReactOS C runtime library 3 * LICENSE: BSD - See COPYING.ARM in the top level directory 4 * FILE: lib/sdk/crt/stdlib/_set_abort_behavior.c 5 * PURPOSE: _set_abort_behavior implementation 6 * PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org) 7 */ 8 9 extern unsigned int __abort_behavior; 10 11 /*! 12 * \brief Specifies the behavior of the abort() function. 13 * 14 * \param flags - Value of the new flags. 15 * \param mask - Mask that specifies which flags to update. 16 * \return The old flags value. 17 */ 18 unsigned int 19 _cdecl 20 _set_abort_behavior( 21 unsigned int flags, 22 unsigned int mask) 23 { 24 unsigned int old_flags; 25 26 /* Save the old flags */ 27 old_flags = __abort_behavior; 28 29 /* Reset all flags that are not in the mask */ 30 flags &= mask; 31 32 /* Update the flags in the mask to the new flags value */ 33 __abort_behavior &= ~mask; 34 __abort_behavior |= flags; 35 36 /* Return the old flags */ 37 return old_flags; 38 } 39 40