The static arrays are supposed to be arrays of const pointers to int,
not arrays of non-const pointers to const int.
Fixing that means some bugs (scribbling on what's *supposed* to be a
const array) will be caught (see packet-ieee80211-radiotap.c for
examples, the first of which inspired this change and the second of
which was discovered while testing compiles with this change), and
removes the need for some annoying casts.
Also make some of those arrays static while we're at it.
Update documentation and dissector-generator tools.
Change-Id: I789da5fc60aadc15797cefecfd9a9fbe9a130ccc
Reviewed-on: https://code.wireshark.org/review/37517
Petri-Dish: Guy Harris <gharris@sonic.net>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Remove our popcount implementation in favor of ws_count_ones, which
is our other popcount implementation. This required updating and
running process-x11-xcb.pl.
Change-Id: I8634c55242113b338c5b0173837c35f98b148b4f
Reviewed-on: https://code.wireshark.org/review/26454
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Those lists require null terminators; fix the script to add them, and
re-run the script (with the current tip of the master branch for
xcbproto and mesa).
Change-Id: I76c156521e79753f5c19cae16e9caa031abd2496
Reviewed-on: https://code.wireshark.org/review/21471
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Change-Id: I45d4557377a445c981e6b7cfc1dbe57f586252e5
Reviewed-on: https://code.wireshark.org/review/21210
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: Ieed2c672fd2acb76dba0ef1c3182eb9f00a04253
Reviewed-on: https://code.wireshark.org/review/21205
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Adjust the dissector generator to put mesa_enum values in
numerical order. Remove comments about where the specific
values came from as sorting them means the comments aren't
always going to be in the right place.
Change-Id: I3c6b8252017c8a3ec379be49b3df069ec488cd1c
Reviewed-on: https://code.wireshark.org/review/21198
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: Idc95500b74452911117be8903fe0bde0c8a6fefa
Reviewed-on: https://code.wireshark.org/review/21173
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
The "list" is of type FT_NONE and the "item" is not. That can
cause type conflicts.
Change-Id: If62f7113bc120e392588724a0dd65b7ab32ccde7
Reviewed-on: https://code.wireshark.org/review/21146
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Values aren't numerically sorted in the XML, so they aren't put
in the value_string in numerical order. That's a problem for
value_string_ext.
Change-Id: Ie40c5ab1083cc7be140d11dc131e3588759819b7
Reviewed-on: https://code.wireshark.org/review/21128
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Also convert usage to a value_string_ext
Change-Id: Ie515591355879f8eb65faf50e7c04b30cff13519
Reviewed-on: https://code.wireshark.org/review/21124
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Change-Id: Ib8b80b2c4a79941cf56d8add783c88d1078f079a
Reviewed-on: https://code.wireshark.org/review/21104
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Use relative path names for the script names and mesa/xcbproto directories so
different paths (from different users) don't cause deltas.
Also, with help from Peter Wu and Graham, get generation of the X11 dissector
working from cmake.
Change-Id: I95cd2a0f973dcbc67f457ff94c28e46a666afb74
Reviewed-on: https://code.wireshark.org/review/12213
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
This is to avoid complaints from clang of the form:
wireshark/epan/dissectors/x11-extension-implementation.h:17021:18: error:
equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
if ((f_class_id == 0)) {
~~~~~~~~~~~^~~~
Change-Id: I91d629ad47677b71909d7da517c4a6198c276186
Reviewed-on: https://code.wireshark.org/review/11186
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
The size calculation for the struct will be wrong (too small) which looks
strange in the GUI when the children elements extend past the region
marked by their parent. But it doesn't seem to cause any actual problems,
there is only one request affected by this, and correct size calculation
(by recursing the switch) would take a fair amount of work.
Change-Id: I1847f736153daf59b8dbf3299005a772ffe9673a
Reviewed-on: https://code.wireshark.org/review/11107
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
my $count here shadows my $count in the outer scope, preventing the size
of constant sized arrays from being calculated correctly.
Change-Id: I89c989ee2d288d4828871ebab650807fbde747dd
Reviewed-on: https://code.wireshark.org/review/11106
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Despite promises from the Perl maintainers to remove or at least
drastically change given/when and smartmatch, that still hasn't happened
as of 5.22.
We can cross that bridge when we come to it. Until then, assume they're
never going to break given/when.
Change-Id: If9270bd6fd819d24c58f31f2dfe0d88e831b19fe
Reviewed-on: https://code.wireshark.org/review/11104
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Also, die more gracefully than:
Can't use string ("1") as a HASH ref while "strict refs" in use at
../../tools/process-x11-xcb.pl line 675.
at ../../tools/process-x11-xcb.pl line 1859
at ../../tools/process-x11-xcb.pl line 1859
when blacklisted (previously unused) structures start being used in the
xcbproto source.
(It's still not possible to regenerate the X11 dissector but this is a step...)
Change-Id: I1dec16a7a479d5f453c5f54e561aa8238eb21280
Reviewed-on: https://code.wireshark.org/review/10972
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Shift 1U instead, to make sure it's unsigned; the result of, for
example, the result of shifting a signed value left is undefined if the
value times 2^{shift count} doesn't fit in the *signed* type of the
shifted value. That means, in particular, that the result of shifting 1
left by {number of bits in an int - 1} is undefined. (In *practice*,
it'll probably be -2^32, with the bit you want set, but that's not
guaranteed, and GCC 5.1 seems not to like it.)
This fixes the *other* generator for the X11 header files; we manually
fix the file in question, because life's too short to spend very much of
it trying to debug Perl issues that cause a
Can't use string ("1") as a HASH ref while "strict refs" in use at
../../tools/process-x11-xcb.pl line 675.
at ../../tools/process-x11-xcb.pl line 1859
at ../../tools/process-x11-xcb.pl line 1859
failure.
Change-Id: I3dd46025b2ae461e63034b36ab11cdbc9380b696
Reviewed-on: https://code.wireshark.org/review/8263
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Shift 1U instead, to make sure it's unsigned; the result of, for
example, the result of shifting a signed value left is undefined if the
value times 2^{shift count} doesn't fit in the *signed* type of the
shifted value. That means, in particular, that the result of shifting 1
left by {number of bits in an int - 1} is undefined. (In *practice*,
it'll probably be -2^32, with the bit you want set, but that's not
guaranteed, and GCC 5.1 seems not to like it.)
This fixes the generator for the X11 header files; we manually fix the
header file in question, because life's too short to spend very much of
it trying to debug Perl issues that cause a
Can't use string ("1") as a HASH ref while "strict refs" in use at
../../tools/process-x11-xcb.pl line 675.
at ../../tools/process-x11-xcb.pl line 1859
at ../../tools/process-x11-xcb.pl line 1859
failure.
Change-Id: Ia903e9dacad49021bc0dfe129b9393ad426de9eb
Reviewed-on: https://code.wireshark.org/review/8261
Reviewed-by: Guy Harris <guy@alum.mit.edu>
code only shows up when the X11 dissector is updated from the latest
xcbproto & mesa, which I will commit real soon now (RSN).
Change-Id: Ic750df3b4406f107fd850ade891ee093054c8d6d
Reviewed-on: https://code.wireshark.org/review/5882
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
re-generate the x11 dissector again without the script breaking.
Change-Id: I6d24cf098f370f4c1ff191052e2ea67b7875b33a
Reviewed-on: https://code.wireshark.org/review/5878
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
is referring to for clarity.
Change-Id: I7930e851647c847335b91435c7b0871c6db2defe
Reviewed-on: https://code.wireshark.org/review/5847
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
epan/dissectors/README.X11 has instructions for running them.
Change-Id: Id3c1df1bf1f50b19372b9a0470822da9ca6504f7
Reviewed-on: https://code.wireshark.org/review/5846
Reviewed-by: Stephen Fisher <sfisher@sdf.org>
There are a few things in here which could still use attention.
Don't regenerate anything now.
Change-Id: I283c224d3523212144707fca3d6265916cb11792
Reviewed-on: https://code.wireshark.org/review/205
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
[PATCH 1/5] X11 dissector: Sort declarations
This prevents pointless changes showing up in the diff when evaluating
unrelated changes to the generator.
See http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization
[PATCH 2/5] X11 dissector: Silence warnings on perl 5.18, prevent 5.20
Perl 5.18 retroactively marked "given/when" experimental, with a
promise to remove or dramatically change it in 5.20.
Since there is no perl 5.20 yet, there is no way to make this script
compatible with it.
[PATCH 3/5] X11 dissector: Support variable_param (at least for glCallLists)
(This patch makes the change in r54232 unnecessary by using the previously-
unused variable.)
[PATCH 4/5] X11 dissector: Remove obsolete TODO item
This item was done in r53531 PATCH 09/11
svn path=/trunk/; revision=54242
again (and some various other improvements):
Rebuild the dissector with the latest xcbproto and mesa.
Subject: [PATCH 01/11] X11 dissector: Support CARD64 and INT64 types
These types are used by the new Present extension.
Subject: [PATCH 02/11] X11 dissector: Un-blacklist a few structures
The xinput structs are used by the latest xcb/proto, and the xkb
struct has been removed.
Subject: [PATCH 03/11] X11 dissector: Add hack for xinput:ChangeProperty
xinput:ChangeProperty should use switch/case, but only switch/bitcase
is supported at the moment. Add (hopefully temporary) hack.
Subject: [PATCH 04/11] X11 dissector: Use namespace for types
In particular, the name of the xsync struct 'INT64' collides with a
basic type of the same name.
Subject: [PATCH 05/11] X11 dissector: Add support for "Generic" events
All new extensions are using the new "Generic" events instead of
traditional events, because there aren't enough traditional event
numbers.
Denoted by <event xge="true"> in xcb/proto.
Subject: [PATCH 06/11] X11 dissector: Blacklist unused structures
Subject: [PATCH 07/11] X11 dissector: Support multiple enumref in a bitcase
XKB is weird.
Subject: [PATCH 08/11] X11 dissector: Support sumof
Subject: [PATCH 09/11] X11 dissector: Stop generating unused-but-set variables
(This patch also reverts r53298/r53299.)
svn path=/trunk/; revision=53531
x11-extensions-implementation.h .
This change was manually applied to the .h file as I can't currently rebuild
the X11 dissector.
svn path=/trunk/; revision=53298
proto_tree_add_item() calls.
Updated tools/process-x11-xcb.pl to support different encoding values
for different fields. Replaced the "little_endian" Boolean value with a
"byte_order" value containing the setting of the byte-order ENC_ bit.
Regenerated X11 fields from current x.org git.
svn path=/trunk/; revision=42601
An enum name collision was recently added to the upstream XCB/proto.
Avoid the collision by putting enum names into their proper namespace.
After applying that, regenerate the X11 dissector.
svn path=/trunk/; revision=41514
Mesa moved its API description file again.
Also, while I'm here, I noticed that they stopped using signed tags, so add
--tags to "git describe" for a better description of the mesa version used to
build the X11 dissector.
svn path=/trunk/; revision=33067
The XKEYBOARD extension is a pain in the... so XCB had to grow new ways to
describe the protocol.
This patch adds support to the Wireshark dissector, so it can successfully
process the XCB description of the XKEYBOARD extension.
Without this patch, "make x11-dissector" chokes on the current xcbproto from
git.
Also update the script to deal with the new mesa directory structure.
svn path=/trunk/; revision=32520
Add a target ("x11-dissector") to build the X11 dissector.
Put the X11-related files (back) in the source distribution.
svn path=/trunk/; revision=29871