don't use the print mechanism for that - do the writing directly in the
"follow stream" code.
Use "size_t" for character counts.
Make the "hexchars" array static and const, as it's not written to, and
there's probably no point in copying it to the stack (unless that
improves cache locality).
There's no need to explain why we're subtracting the number of bytes
actually read, rather than the number of bytes asked for, from the data
length.
Note an issue with printing lines.
svn path=/trunk/; revision=13240
add radiobutton to allow saving raw tcpstreams
these radiobuttons should, by someone that uses, this feature be changed into
a menu instead.
svn path=/trunk/; revision=13236
the display style (ASCII/EBCDIC/char[]/hex) radio button set - pushing a
radio button generates *two* events, one for the button that gets turned
off and one for the button that gets turned on.
svn path=/trunk/; revision=12530
include of <resolv.h> in any system header file gets the system
<resolv.h> (needed for builds on Tru64 with GTK+ 1.2[.x]).
svn path=/trunk/; revision=11615
a structure containing a pointer to print operations for that object and
a pointer to the private subclass-dependent data for that object, with
subclasses for text and PostScript, and use those rather than the old
scheme where a print format was passed as an argument - or where (as in
the case of printing summary information in Tethereal) we just printed
as text even if "-T ps" was selected.
Check whether those routines succeed or get an I/O error writing output.
Clean up indentation.
svn path=/trunk/; revision=11514
but toolkit-dependent implementations, for manipulating colors, and have
"gtk/color_utils.h" declare them (the header file should eventually be
moved to the top-level directory). Move the routines to convert between
GdkColor and color_t out of there into "colors.c", and move their
declarations into "colors.h", as their APIs are toolkit-dependent.
Have the first such routine be a "create_color()" routine, which takes
RGB values and initializes a "color_t", including doing any
toolkit-dependent work necessary for that; use that in the
"gtk/color_filters.c" code (the goal is to remove as many of the toolkit
dependencies as possible from that code, and move it to the top-level
directory).
svn path=/trunk/; revision=11497
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.
Adjust #include lines in files that include packet-*.h
files.
svn path=/trunk/; revision=11410
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.
svn path=/trunk/; revision=11400
"gtk/isprint.h", and include that in "follow_dlg.c" (which wasn't
including "gtkglobals.h" and thus wasn't getting the redefinition) and
"proto_draw.c" (which was including "gtkglobals.h" but now needs to
include "isprint.h" as well).
svn path=/trunk/; revision=11355
insecure code by not-working code. As I currently lack the time to fix
this properly until Monday as the earliest possible date I undo the patch.
Please note that Ethereal should not be used on multiuser systems with
untrusted users until a proper fix has been applied.
svn path=/trunk/; revision=11263
changed window_xy (dialog) function calling in a lot of gtk files
cleanup of file selection code
cleanup in dlg_utils/file_dlg/ui_util
Please report any problems!!!
svn path=/trunk/; revision=11003
(including remebering of the dialog size in recent file).
for a first step, I replaced all window_new() calls from dialogs
into dlg_window_new() ones, and removed all gtk_window_set_position
calls, this should be done in a more generalized way
svn path=/trunk/; revision=10964
add a config.nmake option to control whether to build
libethereal.dll or not;
remove "./wiretap" from PATH to prevent problems due to
wrongly-loaded files;
build dissector.lib with MSVC;
move "print.c" and "ps.c" to the dissector helpers, as "print.c"
imports variables from packet-frame.c and packet-data.c, which
are in libethereal;
move "g711.c" out of the dissector helpers, as they're used only
by Ethereal in a tap, not in Tethereal or in any dissector;
add a .def file for libethereal;
arrange to declare global variables exported from libethereal
with "__declspec(dllimport)" when building programs that import
those variables;
update the NSIS installer.
Make the "configure" script define ETH_VAR_IMPORT as "extern".
svn path=/trunk/; revision=10834
Ethereal-defined indication of the action (open vs. save), regardless of
whether we're building for GTK+ >= 2.4 or not; we just ignore the
argument in pre-2.4 GTK+.
Use "file_selection_new()" rather than #if'ed code to use it or
"gtk_file_chooser_dialog_new()" for GTK+ >= 2.4 and
"gtk_file_selection_new()" or it for pre-2.4 GTK+.
Add a "file_selection_set_current_folder()" routine that does the
appropriate thing depending on whether we're GTK+ >= 2.4 or not, and use
that rather than #if'ed code to use
"gtk_file_chooser_set_current_folder()" or
"gtk_file_selection_set_filename()".
svn path=/trunk/; revision=10511
"main_filter_packets()", to force the filtering to be done even if the
filter is the same as the current one; this is necessary in order to
make sure "Follow TCP Stream" gets the packets processed even if you're
filtering the stream that's currently filtered in.
svn path=/trunk/; revision=10209
now sorted by ISO-layer, than alphabetically (now longer by functionality).
Seperated the tap registering from the actual menu making stuff,
so the seperate step of registering the tap and the menu is no longer needed.
Removed all things related to this double registering.
svn path=/trunk/; revision=10180
the title, and arranges to set the icon for it. Use that instead of
"gtk_window_new()" and separate calls to set the title and arrange to
set the icon.
Regularize #includes a bit.
Clean up white space.
svn path=/trunk/; revision=10054
attempt to write to a file (or close a file opened for writing).
Get rid of no-longer-needed #includes of <epan/filesystem.h>.
svn path=/trunk/; revision=10027
scrolled_window_new().
added gtk_scrolled_window_set_policy(AUTOMATIC,AUTOMATIC) to
scrolled_window_new()
added GTK2's gtk_scrolled_window_set_shadow(GTK_SHADOW_IN)
to every place needed
svn path=/trunk/; revision=9999
"simple_dialog()"; NULL might be #defined to be a pointer expression on
some platforms, causing compiler warnings (and, on platforms where a
null pointer doesn't have all its bits 0, possibly causing misbehavior,
although I don't think there are any such platforms on which Ethereal
runs).
Don't allow 0 as button mask argument to "simple_dialog()".
Squelch a compiler warning.
Report fatal problems as errors, not warnings.
Report file I/O errors with "file_open_error_message()".
Report file write errors (including those reported by "close()", e.g.
some errors writing to an NFS server) when saving raw packet data to a
file.
svn path=/trunk/; revision=9915
the title or contents of the filtering progress bar window and don't
work very well in files such as "recent" or "dfilters".
svn path=/trunk/; revision=9869
e.g. when applying a "Follow TCP stream",
fix a bug in the recent function, discarding the newest entries when
saving a full list (now discarding the oldest).
svn path=/trunk/; revision=9849
up to its caller.
Show errors as such, not as warnings, and show the right error message
for failures to open/create output files.
svn path=/trunk/; revision=9830
"capture_file" structure. Keep it locally, instead.
Check for errors when printing packets.
Report failure to open a print destination and failure to write to a
print destination differently.
Don't have the "print preamble" and "print final" routines return
success/failure indications - revert to the old scheme where they
didn't, and have the callers use "ferror()" to check for errors.
Report write errors when printing dissections in Tethereal.
Report print errors as errors, not warnings.
svn path=/trunk/; revision=9828
"file_close_error_message()" - but just use "file_write_error_message()"
for UNIX-style errors, under the assumption that a close will only fail
because a buffer-flushing write fails or because "close()" itself fails
when, for example, pushing unsynced NFS client-side writes out over the
wire.
Make several routines in "print.c" return success/failure indications.
Check for write errors when printing "Follow TCP Stream" stuff or saving
it to a file.
svn path=/trunk/; revision=9825
"cf_write_error_message()"/"file_write_error_message()".
Use "file_open_error_message()" instead of "cf_open_error_message()" in
some places we missed in the previous checkin.
Catch ENOSPC and EDQUOT in "file_open_error_message()".
Use "file_open_error_message()" rather than "file_write_error_message()"
to report errors when creating the file to which we're saving the
"Follow TCP Stream" data.
svn path=/trunk/; revision=9823
Windows - the problem is that GTK+ 1.3[.x] and later assume strings
handed to them are UTF-8 strings, not, for example, ISO 8859/x strings.
In packet-radius.c, re-define "isprint()" rather than #ifdeffing its use
(the old code was also incorrectly treating 0x7f as a printable).
svn path=/trunk/; revision=9436