+++ /dev/null
-/** @file\r
- The implementation of the __assert function used internally by the assert macro\r
- to insert diagnostic messages into code.\r
-\r
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials are licensed and made available under\r
- the terms and conditions of the BSD License that accompanies this distribution.\r
- The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-**/\r
-#include <LibConfig.h>\r
-#include <sys/EfiCdefs.h>\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-\r
-/** Internal helper function for the assert macro.\r
- The __assert function prints a diagnostic message then exits the\r
- currently running application.\r
-\r
- This function should NEVER be called directly.\r
-\r
- Some pre-processors do not provide the __func__ identifier. When that is\r
- the case, __func__ will be NULL. This function accounts for this and\r
- will modify the diagnostic message appropriately.\r
-\r
-\r
- @param[in] file The name of the file containing the assert.\r
- @param[in] func The name of the function containing the assert\r
- or NULL.\r
- @param[in] line The line number the assert is located on.\r
- @param[in] failedexpr A literal representation of the assert's expression.\r
-\r
- @return The __assert function will never return. It terminates execution\r
- of the current application and returns to the environment that\r
- the application was launched from.\r
-**/\r
-void\r
-__assert(\r
- IN const char *file,\r
- IN const char *func,\r
- IN int line,\r
- IN const char *failedexpr\r
- )\r
-{\r
- if (func == NULL)\r
- printf("Assertion failed: (%s), file %s, line %d.\n",\r
- failedexpr, file, line);\r
- else\r
- printf("Assertion failed: (%s), file %s, function %s, line %d.\n",\r
- failedexpr, file, func, line);\r
- abort();\r
- /* NOTREACHED */\r
-}\r