-1

在下面的代码

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

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

Coverity 发出错误:

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

在上面的代码上下文中,有意不检查send. 我怎样才能抑制这个错误。

4

1 回答 1

5

要么检查返回值。

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

如果您真的不想检查该值,请将其转换为void.

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

这告诉编译器丢弃返回值。它还告诉其他程序员 - 以及隐蔽性 - 你是故意丢弃返回值,而不是让问题悬而未决你是否打算这样做。

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

于 2016-01-25T09:48:47.250 回答