fix(includes): 消除隐式窄化(string.strlen → int)

规则收紧后,6 处 string.strlen()(sizet/64 位)隐式落进 int 会报隐式窄化:argparse.vp:204/332、ast/parser.vp:3202/3203/3255/3256 改为显式 int(...);另 gzip.vp:62 的 read_all 容量去掉多余 ULONG(...)(形参已是 sizet)。
This commit is contained in:
TermiNexus committed 2026-10-10 22:09:59 +08:00
1 parent aa88e46b5d
commit 705de51459
3 files changed
+7 -7

No files matched your search

+2 -2
View File
@@ -201,7 +201,7 @@ class ArgumentParser:
"""Match prefix for --name=value syntax"""
for i in range(self._arg_count):
arg: Argument* = self._get_arg(i)
name_len: int = string.strlen(arg.name)
name_len: int = int(string.strlen(arg.name)) # 显式 cast:避免 64→32 隐式窄化
if string.strncmp(token, arg.name, name_len) == 0:
if token[name_len] == '=':
return i
@@ -329,7 +329,7 @@ class ArgumentParser:
release(args)
return None
arg = self._get_arg(found)
arg_name_len: int = string.strlen(arg.name)
arg_name_len: int = int(string.strlen(arg.name)) # 显式 cast:避免 64→32 隐式窄化
value = token + arg_name_len + 1
self._store_value(args, arg, value)
idx += 1