hor*_*ity 7 c sqlite strlen
static int strlen30(const char *z){ const char *z2 = z; while( *z2 ){ z2++; } return 0x3fffffff & (int)(z2 - z); }
我阅读并想知道sqlite的源代码.
为什么用"strlen30()"代替strlen()(string.h)?
谢谢.
Jef*_*ter 3
此更改的提交消息指出:
[793aaebd8024896c] 签入的一部分 [c872d55493] 切勿使用 strlen()。使用我们自己的内部 sqlite3Strlen30() ,保证永远不会溢出整数。额外的显式强制转换以避免出现令人讨厌的警告消息。(CVS 6007) (用户: drh 分支: trunk)
归档时间:
14 年,10 月 前
查看次数:
295 次
最近记录:
7 年,2 月 前