Wireshark mailing list archives
Re: Regenerating packet-parlay.c
From: Luke Mewburn <luke () mewburn net>
Date: Thu, 30 Apr 2020 10:35:34 +1000
On 20-04-29 10:25, Gerald Combs wrote: | On 4/29/20 9:47 AM, Jaap Keuter wrote: | > Hi list, | > | > While working on the IDL dissectors, so packet-coseventcomm.c, | > packet-cosnaming.c, packet- gias.c, packet-parlay.c and | > packet-tango.c, I was able to use the idl2wrs toolchain to | > regenerate all these dissectors (with minor issues), with the | > exception of packet-parlay.c. There the diff extensive and seems | > limited to the /* User exception filters */ area. A superficial | > look gives the impression that all items are there, that just the | > ordering is very different. Anyone an idea why that would be? | | It looks like get_exceptionList in wireshark_gen.py doesn't sort the | list it returns. According to the Python 3 documentation[1], dicts | use insertion order in 3.7 and later, but that may or may not be the | case in earlier versions. | | [1]https://docs.python.org/3/library/stdtypes.html#dictionary-view-objects Historically python dict key ordering wasn't deterministic (as far as being obvious to humans :), although as you mention python 3.7 maintains insertion order. You can use collections.OrderedDict to maintain insertion order for older python (in python 2.7, with workarounds in python 2.6) As to the problem; looking at the use of .keys() in wireshark_gen.py, there's a couple of places where the code is either: - get_intlist(), sorted: ret = list(ex_hash.keys()) ret.sort() return ret - get_exceptionList(), unsorted: ret = list(ex_hash.keys()) return ret Both could be simplified to an ordered result using sorted(): ret = sorted(ex_hash.keys()) return ret Also, dumpvars() could sort its result by replacing: for fn in self.fn_hash.keys(): with for fn in sorted(self.fn_hash): cheers, Luke. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Regenerating packet-parlay.c Jaap Keuter (Apr 29)
- Re: Regenerating packet-parlay.c Gerald Combs (Apr 29)
- Re: Regenerating packet-parlay.c Luke Mewburn (Apr 29)
- Re: Regenerating packet-parlay.c Luke Mewburn (Apr 29)
- Re: Regenerating packet-parlay.c Jaap Keuter (Apr 30)
- Re: Regenerating packet-parlay.c Luke Mewburn (Apr 30)
- Re: Regenerating packet-parlay.c Jaap Keuter (Apr 30)
- Re: Regenerating packet-parlay.c Luke Mewburn (Apr 29)
- Re: Regenerating packet-parlay.c Gerald Combs (Apr 29)