ensure codes conforms ISO c11 standard.
This commit is contained in:
@@ -1,28 +1,13 @@
|
||||
/*****************************************************************************/
|
||||
/**
|
||||
* Description: A brief description of this file
|
||||
*
|
||||
* Author: Fan Hao
|
||||
* Date: 2022-10-21 18:59
|
||||
* LastEditors: Fan Hao
|
||||
* LastEditTime: 2023-02-13 10:01
|
||||
* Revisions: Rev x.x
|
||||
* History:
|
||||
* [YYYY-MM-DD]: Description of modification.
|
||||
*
|
||||
* Copyright(c) 2023 Beijing Institute of Technology.
|
||||
* Lab of Communication and Networking
|
||||
*
|
||||
******************************************************************************/
|
||||
/*****************************************************************************/
|
||||
/**
|
||||
* Description: Common definitions
|
||||
*
|
||||
* Date: 2021-12-04 16:32
|
||||
* Date: 2023-12-21 16:32
|
||||
* LastEditors: Fan Hao
|
||||
* LastEditTime: 2022-07-16 17:13
|
||||
* Revisions: Rev 0.1
|
||||
* History:
|
||||
* [2023-12-21]: Ensure the code conform ISO C11 standard.
|
||||
* [2022-07-16]: New branch for Dijian.
|
||||
* [2021-11-16]: Initial version.
|
||||
*
|
||||
@@ -40,49 +25,59 @@
|
||||
#include "util.h"
|
||||
#include "error.h"
|
||||
#include "../config/app_config.h"
|
||||
|
||||
/************************** Constant Definitions *****************************/
|
||||
/***************** Macros (Inline Functions) Definitions *********************/
|
||||
//#define ASSERT(exp) assert(exp)
|
||||
#define ASSERT(exp) ((exp) ? 0 : AppAssert(__FILE__, __LINE__))
|
||||
#define _nop_() asm("nop")
|
||||
#define __PRINT_BLOCK(block) do {\
|
||||
block\
|
||||
} while(0)
|
||||
|
||||
#define HALT_IF_ERR(status, msg, ...) \
|
||||
if (SUCCESS != status) { \
|
||||
printf("ERROR: #%d " msg, status, ##__VA_ARGS__); \
|
||||
exit(status); \
|
||||
}
|
||||
#define ASSERT(exp) ((exp) ? (void)0 : AppAssert(__FILE__, __LINE__))
|
||||
#define _nop_() __asm__("nop")
|
||||
|
||||
/* Stringify */
|
||||
#define STR(x) #x
|
||||
|
||||
// #define _DEBUG_LEVEL 3
|
||||
#define _814_DEBUG_LEVEL 3
|
||||
|
||||
#if _DEBUG_LEVEL == 1
|
||||
#define DBG_ERROR(MSG, ...) printf("in"__FILE__" #%4d [error] "MSG,__LINE__, ##__VA_ARGS__)
|
||||
#define DBG_WARNING(MSG, ...) {}
|
||||
#define DBG_INFO(MSG, ...) {}
|
||||
#define DBG_PRINT(MSG, ...) printf(MSG, ##__VA_ARGS__)
|
||||
#elif _DEBUG_LEVEL == 2
|
||||
#define DBG_ERROR(MSG, ...) printf("in"__FILE__" #%4d [error] "MSG,__LINE__, ##__VA_ARGS__)
|
||||
#define DBG_WARNING(MSG, ...) printf("[warning] "MSG, ##__VA_ARGS__)
|
||||
#define DBG_INFO(MSG, ...) {}
|
||||
#define DBG_PRINT(MSG, ...) printf(MSG, ##__VA_ARGS__)
|
||||
#elif _DEBUG_LEVEL == 3
|
||||
#define DBG_ERROR(MSG, ...) printf("in"__FILE__" #%4d [error] "MSG,__LINE__, ##__VA_ARGS__)
|
||||
#define DBG_WARNING(MSG, ...) printf("[warning] "MSG, ##__VA_ARGS__)
|
||||
#define DBG_INFO(MSG, ...) printf("[Info] "MSG, ##__VA_ARGS__)
|
||||
#define DBG_PRINT(MSG, ...) printf(MSG, ##__VA_ARGS__)
|
||||
#else
|
||||
#define DBG_ERROR(MSG, ...) {}
|
||||
#define DBG_WARNING(MSG, ...) {}
|
||||
#define DBG_INFO(MSG, ...) {}
|
||||
#define DBG_PRINT(MSG, ...) {}
|
||||
#if _814_DEBUG_LEVEL > 0
|
||||
#define DBG_PRINT(...) printf(__VA_ARGS__)
|
||||
#endif
|
||||
#if _814_DEBUG_LEVEL >= 1
|
||||
#define DBG_ERROR(...) __PRINT_BLOCK( \
|
||||
printf("in"__FILE__" #%4d [error]\t",__LINE__); \
|
||||
printf(__VA_ARGS__); \
|
||||
)
|
||||
#endif
|
||||
#if _814_DEBUG_LEVEL >= 2
|
||||
#define DBG_WARNING(...) __PRINT_BLOCK( \
|
||||
printf("[warning]\t"); \
|
||||
printf(__VA_ARGS__); \
|
||||
)
|
||||
#endif
|
||||
#if _814_DEBUG_LEVEL >= 3
|
||||
#define DBG_INFO(...) __PRINT_BLOCK( \
|
||||
printf("[Info]\t"); \
|
||||
printf(__VA_ARGS__); \
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifndef DBG_ERROR
|
||||
#define DBG_ERROR(...) {}
|
||||
#endif
|
||||
#ifndef DBG_WARNING
|
||||
#define DBG_WARNING(...) {}
|
||||
#endif
|
||||
#ifndef DBG_INFO
|
||||
#define DBG_INFO(...) {}
|
||||
#endif
|
||||
#ifndef DBG_PRINT
|
||||
#define DBG_PRINT(...) {}
|
||||
#endif
|
||||
/**************************** Type Definitions *******************************/
|
||||
|
||||
/************************** Variable Definitions *****************************/
|
||||
|
||||
/************************** Function Prototypes ******************************/
|
||||
void AppAssert(const char * file, int line);
|
||||
#endif /* COMMON_H_ */
|
||||
#endif /* __COMMON_H_ */
|
||||
|
||||
@@ -30,14 +30,15 @@
|
||||
|
||||
/*****************************************************************************/
|
||||
/**
|
||||
* @brief
|
||||
* @brief Throw an assert.
|
||||
*
|
||||
* @param
|
||||
* @param file indicate the filename of the assertion
|
||||
* @param line indicate which line the assertion occurs
|
||||
*
|
||||
* @return
|
||||
* @return NONE.
|
||||
*
|
||||
******************************************************************************/
|
||||
void AppAssert(const char * file, int line){
|
||||
DBG_ERROR("Assert: %s, #%d.\n", file, line);
|
||||
DBG_PRINT("in %s #%4d [assert] ",file, line);
|
||||
while(1);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user