fix(log): 修复默认日志实例命名冲突并优化宏定义

将 `logger_root` 重命名为 `__default_logger_root` 以避免潜在的符号冲突,
同时简化日志宏定义逻辑,提升代码可读性与维护性。此外,为防止 clang-format
格式化影响日志宏的排版,添加了 clang-format 开关注释。

refactor(memory): 优化 memcmp 函数中的 switch-case 结构

在 `smcc_memcmp` 函数中为每个 case 添加 `/* fall through */` 注释,
明确表示故意穿透到下一个 case,提高代码意图的清晰度,并增强静态分析工具的兼容性。
This commit is contained in:
zzy
2025-11-22 16:59:28 +08:00
parent 63f6f13883
commit fa5611dabd
3 changed files with 38 additions and 38 deletions

View File

@@ -222,81 +222,97 @@ int smcc_memcmp(const void *s1, const void *s2, usize n) {
i = 15;
break;
}
/* fall through */
case 15:
if (p1[14] != p2[14]) {
i = 14;
break;
}
/* fall through */
case 14:
if (p1[13] != p2[13]) {
i = 13;
break;
}
/* fall through */
case 13:
if (p1[12] != p2[12]) {
i = 12;
break;
}
/* fall through */
case 12:
if (p1[11] != p2[11]) {
i = 11;
break;
}
/* fall through */
case 11:
if (p1[10] != p2[10]) {
i = 10;
break;
}
/* fall through */
case 10:
if (p1[9] != p2[9]) {
i = 9;
break;
}
/* fall through */
case 9:
if (p1[8] != p2[8]) {
i = 8;
break;
}
/* fall through */
case 8:
if (p1[7] != p2[7]) {
i = 7;
break;
}
/* fall through */
case 7:
if (p1[6] != p2[6]) {
i = 6;
break;
}
/* fall through */
case 6:
if (p1[5] != p2[5]) {
i = 5;
break;
}
/* fall through */
case 5:
if (p1[4] != p2[4]) {
i = 4;
break;
}
/* fall through */
case 4:
if (p1[3] != p2[3]) {
i = 3;
break;
}
/* fall through */
case 3:
if (p1[2] != p2[2]) {
i = 2;
break;
}
/* fall through */
case 2:
if (p1[1] != p2[1]) {
i = 1;
break;
}
/* fall through */
case 1:
if (p1[0] != p2[0]) {
i = 0;
break;
}
/* fall through */
default:
break;
}

View File

@@ -67,7 +67,7 @@ void log_default_handler(log_level_t level, const char *module,
}
}
logger_t logger_root = {
logger_t __default_logger_root = {
.name = "root",
.level = LOG_LEVEL_ALL,
.handler = log_default_handler,
@@ -79,20 +79,20 @@ void init_logger(logger_t *logger, const char *name) {
log_set_level(logger, LOG_LEVEL_ALL);
}
logger_t *log_get(const char *name) { return &logger_root; }
logger_t *log_get(const char *name) { return &__default_logger_root; }
void log_set_level(logger_t *logger, int level) {
if (logger)
logger->level = level;
else
logger_root.level = level;
__default_logger_root.level = level;
}
void log_set_handler(logger_t *logger, log_handler handler) {
if (logger)
logger->handler = handler;
else
logger_root.handler = handler;
__default_logger_root.handler = handler;
}
void logger_destroy(logger_t *logger) { return; }

View File

@@ -77,7 +77,7 @@ typedef struct logger {
void log_default_handler(log_level_t level, const char *module,
const char *file, int line, const char *message);
extern logger_t logger_root;
extern logger_t __default_logger_root;
/**
* @brief 初始化日志实例 其余参数设置为默认值
@@ -129,11 +129,7 @@ void logger_destroy(logger_t *logger);
*/
#define _LOG(_module_, _level_, _msg_, ...) \
do { \
logger_t *_logger; \
if (!_module_) { \
_logger = log_get(NULL); \
} else \
_logger = _module_; \
logger_t *_logger = _module_; \
if (_logger && _logger->handler && (_logger->level & (_level_))) { \
log_snprintf(_logger->buf, sizeof(_logger->buf), (_msg_), \
##__VA_ARGS__); \
@@ -142,41 +138,29 @@ void logger_destroy(logger_t *logger);
} \
} while (0)
/* clang-format off */
/// @name 模块日志宏
/// @{
#define MLOG_NOTSET(module, ...) \
_LOG(module, LOG_LEVEL_NOTSET, __VA_ARGS__) ///< 未分类日志
#define MLOG_DEBUG(module, ...) \
_LOG(module, LOG_LEVEL_DEBUG, __VA_ARGS__) ///< 调试日志(需启用DEBUG级别
#define MLOG_INFO(module, ...) \
_LOG(module, LOG_LEVEL_INFO, __VA_ARGS__) ///< 信息日志(常规运行日志
#define MLOG_WARN(module, ...) \
_LOG(module, LOG_LEVEL_WARN, __VA_ARGS__) ///< 警告日志(潜在问题)
#define MLOG_ERROR(module, ...) \
_LOG(module, LOG_LEVEL_ERROR, __VA_ARGS__) ///< 错误日志(可恢复错误)
#define MLOG_FATAL(module, ...) \
_LOG(module, LOG_LEVEL_FATAL, __VA_ARGS__) ///< 致命错误日志(程序终止前)
#define MLOG_TRACE(module, ...) \
_LOG(module, LOG_LEVEL_TRACE, __VA_ARGS__) ///< 追踪日志(调用栈跟踪)
#define MLOG_NOTSET(module, ...)_LOG(module, LOG_LEVEL_NOTSET, __VA_ARGS__) ///< 未分类日志
#define MLOG_DEBUG(module, ...) _LOG(module, LOG_LEVEL_DEBUG, __VA_ARGS__) ///< 调试日志需启用DEBUG级别
#define MLOG_INFO(module, ...) _LOG(module, LOG_LEVEL_INFO, __VA_ARGS__) ///< 信息日志(常规运行日志)
#define MLOG_WARN(module, ...) _LOG(module, LOG_LEVEL_WARN, __VA_ARGS__) ///< 警告日志(潜在问题
#define MLOG_ERROR(module, ...) _LOG(module, LOG_LEVEL_ERROR, __VA_ARGS__) ///< 错误日志(可恢复错误)
#define MLOG_FATAL(module, ...) _LOG(module, LOG_LEVEL_FATAL, __VA_ARGS__) ///< 致命错误日志(程序终止前
#define MLOG_TRACE(module, ...) _LOG(module, LOG_LEVEL_TRACE, __VA_ARGS__) ///< 追踪日志(调用栈跟踪)
/// @}
/// @name 快捷日志宏
/// @{
#define LOG_NOTSET(...) \
_LOG(NULL, LOG_LEVEL_NOTSET, __VA_ARGS__) ///< 未分类日志
#define LOG_DEBUG(...) \
_LOG(NULL, LOG_LEVEL_DEBUG, __VA_ARGS__) ///< 调试日志(需启用DEBUG级别
#define LOG_INFO(...) \
_LOG(NULL, LOG_LEVEL_INFO, __VA_ARGS__) ///< 信息日志(常规运行日志
#define LOG_WARN(...) \
_LOG(NULL, LOG_LEVEL_WARN, __VA_ARGS__) ///< 警告日志(潜在问题)
#define LOG_ERROR(...) \
_LOG(NULL, LOG_LEVEL_ERROR, __VA_ARGS__) ///< 错误日志(可恢复错误)
#define LOG_FATAL(...) \
_LOG(NULL, LOG_LEVEL_FATAL, __VA_ARGS__) ///< 致命错误日志(程序终止前)
#define LOG_TRACE(...) \
_LOG(NULL, LOG_LEVEL_TRACE, __VA_ARGS__) ///< 追踪日志(调用栈跟踪)
#define LOG_NOTSET(...) _LOG(&__default_logger_root, LOG_LEVEL_NOTSET, __VA_ARGS__) ///< 未分类日志
#define LOG_DEBUG(...) _LOG(&__default_logger_root, LOG_LEVEL_DEBUG, __VA_ARGS__) ///< 调试日志需启用DEBUG级别
#define LOG_INFO(...) _LOG(&__default_logger_root, LOG_LEVEL_INFO, __VA_ARGS__) ///< 信息日志(常规运行日志)
#define LOG_WARN(...) _LOG(&__default_logger_root, LOG_LEVEL_WARN, __VA_ARGS__) ///< 警告日志(潜在问题
#define LOG_ERROR(...) _LOG(&__default_logger_root, LOG_LEVEL_ERROR, __VA_ARGS__) ///< 错误日志(可恢复错误)
#define LOG_FATAL(...) _LOG(&__default_logger_root, LOG_LEVEL_FATAL, __VA_ARGS__) ///< 致命错误日志(程序终止前
#define LOG_TRACE(...) _LOG(&__default_logger_root, LOG_LEVEL_TRACE, __VA_ARGS__) ///< 追踪日志(调用栈跟踪)
/// @}
/* clang-format on */
/**
* @def _Assert