如何消除覆盖率警告“CHECKED_RETURN”

时间:2016-01-25 09:35:40

标签: c

这是错误“调用send((void *)&pOutSig, sender((void *)&pSig))而不检查返回值。此库函数可能会失败并返回错误代码。”

TRACE_SEND_SIG(pOutSig, sender((void *) &pSig),"IPOM_DHCP_IF_UNSUBSCRIBE_RSP");

send((void *) &pOutSig, sender((void *) &pSig));

1 个答案:

答案 0 :(得分:5)

检查返回值。

if (send((void *) &pOutSig, sender((void *) &pSig) == -1)
{
     /*  whatever action is needed */
}

如果您真的不想查看该值,请将其投放到void

(void)send((void *) &pOutSig, sender((void *) &pSig);

这告诉编译器丢弃返回值。它还告诉其他程序员 - 以及覆盖性 - 您故意丢弃返回值,而不是打开问题是否打算。

如果TRACE_SEND_SIG()是一个宏,则您需要相应地修改它以执行上述操作之一。