抱歉有点含糊,这是一个与编码相关的小问题,但我不确定如何尽可能简单地编码。
以下是 if 条件:
if (OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_PORT) ||
OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_MULTIPORT)||
OF_IS_FLAG_SET(pOfHwData, OF_HW_TUNNEL_PORT)||
OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_FLOOD)) { /* do something */ }
我想OF_IS_FLAG_SET()
根据另一个 X 条件包括另一个。基本上,
if(X) {
if (OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_PORT) ||
OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_MULTIPORT)||
OF_IS_FLAG_SET(pOfHwData, OF_HW_TUNNEL_PORT)||
OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_FLOOD)||
OF_IS_FLAG_SET(pOfHwData, NEW_FLAG)) { /* do something */ }}
else {
if (OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_PORT) ||
OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_MULTIPORT)||
OF_IS_FLAG_SET(pOfHwData, OF_HW_TUNNEL_PORT)||
OF_IS_FLAG_SET(pOfHwData, OF_HW_OUTPUT_FLOOD)) { /* do something */ }
}
但我不想重写完全相同的 /* 块做某事 */。如果 X 为真,我如何包含新标志OF_IS_FLAG_SET(pOfHwData, NEW_FLAG)
,否则。