函数逻辑报告 | 
Source Code:arch\x86\boot\printf.c | 
Create Date:2022-07-27 08:26:07 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:vsprintf
函数原型:int vsprintf(char *buf, const char *fmt, va_list args)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| char * | buf | |
| const char * | fmt | |
| va_list | args | 
| 129 | 如果fmt不等于'%'则 | 
| 135 | flags等于0 | 
| 136 | repeat : | 
| 137 | fmt先自加 | 
| 140 | flags或等于left justified | 
| 141 | 转到:repeat | 
| 146 | flags或等于space if plus | 
| 147 | 转到:repeat | 
| 152 | flags或等于pad with zero | 
| 153 | 转到:repeat | 
| 157 | field_width等于负1 | 
| 160 | 否则如果fmt恒等于'*'则 | 
| 161 | fmt先自加 | 
| 163 | field_width等于va_arg(args, int) | 
| 164 | 如果field_width小于0则 | 
| 165 | field_width等于负field_width | 
| 166 | flags或等于left justified | 
| 171 | precision等于负1 | 
| 172 | 如果fmt恒等于'.'则 | 
| 173 | fmt先自加 | 
| 176 | 否则如果fmt恒等于'*'则 | 
| 186 | qualifier等于负1 | 
| 193 | base等于10 | 
| 197 | 如果非flags按位与left justified 的值则当field_width先自减大于0循环 | 
| 199 | str自加等于' ' | 
| 201 | 当field_width先自减大于0循环 | 
| 202 | str自加等于' ' | 
| 203 | 继续下一循环 | 
| 209 | 如果非flags按位与left justified 的值则当len小于field_width自减循环 | 
| 211 | str自加等于' ' | 
| 214 | 当len小于field_width自减循环 | 
| 215 | str自加等于' ' | 
| 216 | 继续下一循环 | 
| 239 | str自加等于'%' | 
| 240 | 继续下一循环 | 
| 248 | flags或等于Must be 32 == 0x20 | 
| 255 | flags或等于unsigned/signed long | 
| 257 | 退出 | 
| 259 | 默认 | 
| 269 | 否则如果qualifier恒等于'h'则 | 
| 273 | 否则如果flags按位与unsigned/signed long 则num等于va_arg(args, int) | 
| 279 | str等于'\0' | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |