10 Star 16 Fork 209

OpenHarmony / account_os_account

 / 详情

time_t的宽度不同平台不一样,不要在打印的时候假定宽度

已完成
缺陷
创建于  
2021-10-22 13:22

【任务描述】
../../base/account/os_account/services/accountmgr/src/ohos_account_data_deal.cpp:86:56: error: format specifies type 'long' but the argument has type 'std::time_t' (aka 'long long') [-Werror,-Wformat]
ACCOUNT_LOGI("AccountInfo, bindTime: %{public}ld", accountInfo.bindTime_);
~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~
%lld

time_t 这个类型libc有两种宽度定义,一些系统是32bit,一些是64bit,这个根据
基础库的兼容方案,兼容不同os可能会变化,不能假定bindTime_一定是32位的,请修改
【解决方案】
建议修改方案采用%lld,并且在后面这个参数上加上(long long)accountInfo.bindTime_

【任务来源】
timeval的测试用例无法通过,libc的定义与kernel的不匹配,需要按照kernel的要求使用64位版本
libc会revert之前liteos上的修改,导致这个代码编译不过

评论 (0)

hhj 创建了缺陷
verystone 任务状态待办的 修改为已确认
verystone 任务状态已确认 修改为修复中
verystone 负责人设置为黑马的传奇
openharmony_ci 任务状态修复中 修改为已完成
展开全部操作日志

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(1)
1
https://gitee.com/openharmony/account_os_account.git
git@gitee.com:openharmony/account_os_account.git
openharmony
account_os_account
account_os_account

搜索帮助