[EMAIL PROTECTED] wrote:
> http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=20902
> 
> User: lego
> Date: 2007/02/23 07:26 PM
> 
> Log:
>  Wow!
>   hidden fields appear twice defeating the purpose, that's what I call 
> deprecating a function!!
> 
> Directory: /trunk/epan/dissectors/
>   Changes    Path             Action
>   +12 -6     packet-m3ua.c    Modified

I made the same mistake once:

> PROTO_ITEM_SET_HIDDEN(proto_tree_add_item(parameter_tree, 
> hf_protocol_data_mtp3_opc, parameter_tvb, DATA_OPC_OFFSET, DATA_OPC_LENGTH, 
> NETWORK_BYTE_ORDER));

The problem is PROTO_ITEM_SET_HIDDEN is a macro using the "?" operator. 
  As a result the argument to the macro may evaluated multiple times. 
That's fine if the argument is a variable, not so fine if it's a 
function call (as above).

I'm not sure if there's a way that works other than to assign the result 
of "*add_item()" to a variable then call PROTO_ITEM_SET_HIDDEN() on that 
variable.  I'm also not sure if there's a way to make it obvious that 
PROTO_ITEM_SET_HIDDEN() must be used on a variable.
_______________________________________________
Wireshark-dev mailing list
Wireshark-dev@wireshark.org
http://www.wireshark.org/mailman/listinfo/wireshark-dev

Reply via email to