Fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2453
The patch fixes the problem by extending the original "outstanding stuff"
approach.
Now the pointer itself won't be NULLified, instead we track the pointers with
their expiry state in structs in the outstanding_stuff list.
The Lua objects refers to those structs instead of the actual pointers and
checks the expiry state of the pointers before accessing them.
The pointers are marked expired when the dissection of the frame is finished
and the allocated struct is freed by Lua's garbage collector.
If the garbage collector hits the struct when it holds a not expired pointer,
it marks it as expired (that means we don't have any object in Lua referring to
the pointer) and the struct will be freed at the end of the dissection of the
frame.
this is for the 1.0 branch
svn path=/trunk/; revision=25845
capinfos and dumpcap don't need to depend on libwireshark nor directly pull
in those modules). Because capinfos and editcap were only being linked with
privileges.c if we had plugins, this allows those programs to be linked when
someone is compiling --without-plugins.
svn path=/trunk/; revision=25640
libwireshark (and the plugins using those functions) do not depend on
wiretap on Windows.
While doing that, rename the eth_* functions to ws_*.
svn path=/trunk/; revision=25354
Cleanup ident of epan/wslua/init_wslua.c: use spaces instead of tabs.
cleanup the ident of generator scripts and for template-init.lua
Spaces used instead of tabs for indent. Removed spaces placed by generator
script just before a newline.
svn path=/trunk/; revision=25176
The luaL_reg structure consists of two pointers: char* and a pointer to a function.
The last entry should also reflect this: it should be { NULL, NULL } instead of { 0, 0 }.
svn path=/trunk/; revision=25175
In help the not all of the following chapters begins with uppercase:
10.4.1. saving capture files
10.4.2. obtaining dissection data
10.4.3. GUI support
10.4.4. post-dissection packet analysis
10.4.5. obtaining packet information
10.4.6. functions for writing dissectors
10.4.7. adding information to the dissection tree
10.4.8. functions for handling packet data
10.4.9. Utility Functions
svn path=/trunk/; revision=24933
correct example and documentation about register_menu()
my own: do not fail to make init.lua when building in a different dir
svn path=/trunk/; revision=24879
- Change ugly GLIB version checking statements to GLIB_CHECK_VERSION
- Remove ws_strsplit files because we no longer need to borrow GLIB2's
g_strsplit code for the no longer supported GLIB1 builds
svn path=/trunk/; revision=24829
Essentially: A small cleanup of SVN 24479.
(Fortunately the 0.99.8 release does not have this issue).
Also: add some lines of (what appears to be) missing code.
svn path=/trunk/; revision=24500