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>
This should fix warnings:
plugin.c:XX:1: warning: no previous prototype for 'plugin_reg_handoff' [-Wmissing-prototypes]
svn path=/trunk/; revision=54475
I've now got tshark to build from a VS solution file, had to do some hacks
to get there though, patch files attached for others to peruse, as I'm not
sure if they are the optimal solutions:
3. As mentioned in my previous message, the VS solution chops out every
8192nd byte from the command line passed to make-dissector-reg.py. My
patch (make-reg.patch) gets CMake to write out the required source file
list to a file and modifies the python script to read in the file. The
python changes *should* be backwards compatible.
Me: Small fix to UseMakeDissectorReg.cmake (elseif() -> else())
svn path=/trunk/; revision=53654
just define WS_DLL_PUBLIC_NOEXTERN inside the ifdefs, and define
WS_DLL_PUBLIC as WS_DLL_PUBLIC_NOEXTERN followed by "extern".
Then rename WS_DLL_PUBLIC_NOEXTERN to WS_DLL_PUBLIC_DEF, to clarify that
it's what should be used for definitions; at least on Windows, you
*have* to use it when declaring arrays without a size, and, whilst you
might be able to use WS_DLL_PUBLIC for definitions of functions and
perhaps data definitions other than no-size arrays, it might be clearer
to rename WS_DLL_PUBLIC to WS_DLL_PUBLIC_DECL and use it only for
declarations.
svn path=/trunk/; revision=50334
plugin.c or register.c content to a temporary file build a giant string
in memory and only write it if the current and new hashes differ.
This requires hashlib which was added in Python 2.5; hopefully that's
not a problem.
svn path=/trunk/; revision=45104
Only update outfile if it differs from newly created outfile
make-dissector-reg.py
Add a comment that we should do the same here (probably a small
task for python knowledeable people).
svn path=/trunk/; revision=45083
registration and handoff routines in each line, read the whole file into
memory and then do one findall() search. Store the matches in sets to avoid
duplication.
(This also simplifies the number of regexps we're looking for.)
This speeds up the generation of register.c (when there is no cache)
significantly (on my system the time taken drops from ~32 seconds to ~5
seconds).
svn path=/trunk/; revision=44954
sort them. Avoids the double registration problem discussed on -dev today.
Note: the sorted() call requires Python 2.4+ but I think that's OK now.
svn path=/trunk/; revision=44952
The splash screen shows a progress bar and a percentage complete - like the progress dialog.
As dissectors are initialised and handed off the name is shown. However, the names of plugin dissectors are not shown.
The update to the make-dissector-reg shell script has been tested, though I think generally the python version is used.
svn path=/trunk/; revision=21716
update a dissector and recompile, make-dissector-reg.py can now pull
its list of registration routines from a cache instead of having to
scan through every dissector. The time to create register.c has gone
from 20 to 30 seconds down to 2 on my desktop machine.
The cache file is a Python pickle data stream. It should be portable
across architectures, so we may be able to add it to the distribution
at some point.
svn path=/trunk/; revision=21348
In make-dissector-reg.py, throw an error if we don't have enough files
to process, or if we don't generate enough registrations. "Enough"
is arbitrarily set to 100.
This should de-purple the buildbot. (I'm sure there's a "smoke on the
water" joke in there somewhere.)
svn path=/trunk/; revision=21338
Python versions, as it no longer makes only "register.c", it can also
make a "plugin.c" file for a plugin.
When making "plugin.c", there's no need to include "register.h", as it's
not defining any functions declared there.
svn path=/trunk/; revision=17919