Jakub Zawadzki wrote:
On Wed, May 09, 2012 at 02:57:45PM +0000, Christopher Maynard wrote:
Jakub Zawadzki <darkjames-ws@...> 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.

I think the policy is: it's not a good idea, it should be avoided (in case one day the dream of a thread-safe libwireshark comes true), but it (generally) can't be completely avoided until we give dissector writers a way to store global (eventually per-thread) data. If you build it (the API), they will come (use it). ;-)
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to