fix[components][sfud]: 修复日志输出的gcc编译警告#10800
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: componentsReviewers: Maihuanyi Changed Files (Click to expand)
🏷️ Tag: components_driver_spiReviewers: Liang1795 wdfk-prog Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2025-10-13 13:20 CST)
📝 Review Instructions
|
There was a problem hiding this comment.
Pull Request Overview
This PR fixes GCC compilation warnings related to printf format specifiers in RT-Thread components. The changes update format specifiers from %d to %ld for long integer variables and from %lu to %u for unsigned integer variables to match their actual data types.
Key Changes:
- Updated printf format specifiers in SFUD SPI flash driver to use correct types
- Fixed format specifiers in MSH file commands and DFS filesystem components
- Corrected address format specifiers from
%08Xto%08lXfor proper display
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| components/drivers/spi/dev_spi_flash_sfud.c | Updated printf format specifiers for flash capacity, addresses, timing, and loop counters |
| components/finsh/msh_file.c | Fixed format specifiers for line count variables in tail command |
| components/dfs/dfs_v1/src/dfs_fs.c | Corrected format specifiers for partition information and error codes |
Comments suppressed due to low confidence (1)
components/dfs/dfs_v1/src/dfs_fs.c:1
- Bug/错误: The format specifier should be updated to
%ldto match thepart->sizedata type, which appears to be a long integer based on the pattern used elsewhere in this file. 格式说明符应该更新为%ld以匹配part->size数据类型,根据此文件中其他地方使用的模式,它似乎是长整型。
/*
| result = sfud_write(sfud_dev, addr + i, cur_op_size, write_data); | ||
| if (result != SFUD_SUCCESS) { | ||
| rt_kprintf("Writing %s failed, already wr for %lu bytes, write %d each time\n", sfud_dev->name, i, write_size); | ||
| rt_kprintf("Writing %s failed, already wr for %u bytes, write %d each time\n", sfud_dev->name, i, write_size); |
There was a problem hiding this comment.
Bug/错误: The loop variable i should use %lu format specifier instead of %u since it's likely a size_t or unsigned long type in the loop context. 循环变量 i 应该使用 %lu 格式说明符而不是 %u,因为它在循环上下文中可能是 size_t 或 unsigned long 类型。
|
|
||
| if (result != SFUD_SUCCESS) { | ||
| rt_kprintf("Read %s failed, already rd for %lu bytes, read %d each time\n", sfud_dev->name, i, read_size); | ||
| rt_kprintf("Read %s failed, already rd for %u bytes, read %d each time\n", sfud_dev->name, i, read_size); |
There was a problem hiding this comment.
Bug/错误: The loop variable i should use %lu format specifier instead of %u since it's likely a size_t or unsigned long type in the loop context. 循环变量 i 应该使用 %lu 格式说明符而不是 %u,因为它在循环上下文中可能是 size_t 或 unsigned long 类型。
| rt_kprintf("Read %s failed, already rd for %u bytes, read %d each time\n", sfud_dev->name, i, read_size); | |
| rt_kprintf("Read %s failed, already rd for %lu bytes, read %d each time\n", sfud_dev->name, i, read_size); |
| rt_kprintf("found part[%ld], begin: %ld, size: ", | ||
| pindex, part->offset * 512); | ||
| if ((part->size >> 11) == 0) | ||
| rt_kprintf("%d%s", part->size >> 1, "KB\n"); /* KB */ |
There was a problem hiding this comment.
Bug/错误: The format specifier should be updated to %ld to match the part->size data type, which appears to be a long integer based on the pattern used elsewhere in this file. 格式说明符应该更新为 %ld 以匹配 part->size 数据类型,根据此文件中其他地方使用的模式,它似乎是长整型。
| rt_kprintf("%d%s", part->size >> 1, "KB\n"); /* KB */ | |
| rt_kprintf("%ld%s", part->size >> 1, "KB\n"); /* KB */ |
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
你的解决方案是什么 (what is your solution)
请提供验证的bsp和config (provide the config and bsp)
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up