Wireshark-dev: Re: [Wireshark-dev] Using global variables to store dissection?information
From: Jakub Zawadzki <[email protected]>
Date: Thu, 10 May 2012 13:37:57 +0200
On Wed, May 09, 2012 at 02:57:45PM +0000, Christopher Maynard wrote:
> Jakub Zawadzki <[email protected]> writes:
> 
> > There's already packet_info structure which is always private for current
> > dissection. The easiest fix would be to move all global variables 
> > to packet_info structure. Anyone against it?
> 
> From Guy's comments I got the feeling that the packet_info "katamari" was
> already too big and that there was a desire to reduce its size, not increase it.

It can be one member:
  void *current_proto_data;

Another solution would require adding extra parameter to dissect_ subroutines.
It's much more work and I'm afraid it's not easy to do in generated dissectors
(like ASN.1 ones).

I can live when people use global variables ;)
But it's much easier to hit bugs when you forgot to register cleanup function.

Primarly I wanted to know if we can decide on some global policy:
If it's ok to use global variables or not? 
What should be used instead of them we can disscuss later.