Skip to content

请求扩展reason与status常量数据类型&query_card等函数可接收参数类型 #2944

Description

@Irkala

●问题描述:
目前客户端、服务端内的reason与status常量类型均为uint32,支持的数值上限为0xFFFFFFFF
而当前REASON_ACTION和STATUS_FLIP_SUMMON_DISABLED常量对应的数字均已达0x80000000,即将超出uint32数据类型的极限
故请求将reason与status的数据类型升级为uint64,并将客户端内query_card等相关函数的可接受参数类型一并调整,以便适配更多更大的reason与status常量

●复现步骤:
①在内核中将reason与status相关数据类型改为uint64,将card.cpp的382行中if(query_flag & QUERY_STATUS){}代码块中tdata的数据类型改为uint64,并使用buffer_write函数传入uint64数据;

②编译内核;

③启动服务端与客户端;

④召唤任意一只Link怪兽;

⑤观察该Link怪兽的Link值。

●预期结果:
该怪兽的Link值等应由客户端处理并显示的数据,显示为其对应的正确数字。

●实际结果:
该怪兽的Link值显示为0,query_cache数据接收异常。

●复现率:
100%

●影响范围:
所有实际数值大小超过uint32极限的reason与status常量。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions