Age | Commit message (Collapse) | Author | Files | Lines |
|
casts that are actually safe.
svn path=/trunk/; revision=36788
|
|
we can cast not-necessarily-aligned pointers to pointers to those
structures without risk of compiler warnings *or* the underlying problem
the compiler's trying to warn us about (no, you can't always dereference
an unaligned pointer - SPARC traps, and at least some ARM processors may
do something other than what you want, for example).
This also caught some cases where we were not even properly
byte-swapping on big-endian platforms.
This also lets us not muck around with splitting 64-bit times into two
32-bit fields - we have pletohll(), after all.
svn path=/trunk/; revision=36787
|
|
file before doing any writes - it starts out at the beginning of the
file. This means that you *can* write a Network Instruments capture
file to a pipe, or write it out in compressed form, now that its
dump_open routine no longer seeks.
NetXRay format and K12 binary format, however, *do* require a seek when
writing them.
svn path=/trunk/; revision=36776
|
|
don't have an "additional information" string.
Get rid of WTAP_ERR_ZLIB; just report an internal error with
WTAP_ERR_INTERNAL instead. (If they start happening, we can think about
supplying an "additional information" string for compression errors on
output.)
svn path=/trunk/; revision=36774
|
|
by the gunzipping code. Have it also supply a err_info string, and
report it. Have file_error() supply an err_info string.
Put "the file" - or, for WTAP_ERR_DECOMPRESS, "the compressed file", to
suggest a decompression error - into the rawshark and tshark errors,
along the lines of what other programs print.
Fix a case in the Netscaler code where we weren't fetching the error
code on a read failure.
svn path=/trunk/; revision=36748
|
|
has semantics similar to getc().
If it fails due to an EOF, set state->err to WTAP_ERR_SHORT_READ to
report a premature EOF; otherwise, raw_read() has already set
state->err, so don't set state->err to something else - that loses the
errno value in favor of a generic "bad data" error.
svn path=/trunk/; revision=36744
|
|
*", and some compilers complain when you cast that pointer to something
requiring stricter alignment. Maybe the intent is to nudge you into
thinking about whether the pointer really is properly aligned, but....
svn path=/trunk/; revision=36739
|
|
guint64 *, and it causes clang to complain.
svn path=/trunk/; revision=36738
|
|
svn path=/trunk/; revision=36714
|
|
Kaul: http://www.wireshark.org/lists/wireshark-dev/201104/msg00170.html
svn path=/trunk/; revision=36710
|
|
svn path=/trunk/; revision=36695
|
|
svn path=/trunk/; revision=36682
|
|
in which case ENOMEM is the right error, or we're running on Windows but
using UN*Xy routines, in which case ENOMEM is the right error; unlike
zlib, we don't have to run on a whole pile of OSes.)
svn path=/trunk/; revision=36648
|
|
svn path=/trunk/; revision=36640
|
|
analyzer warnings.
Return an actual error if we're failing because we're trying to write to
the standard output in compressed mode.
svn path=/trunk/; revision=36636
|
|
keeps GCC 4.6.0 from complaining about them and failing to build with
-Werror, and may also squelch some Coverity (and other static analyzer)
complaints.
svn path=/trunk/; revision=36599
|
|
to check for it on close.
svn path=/trunk/; revision=36593
|
|
From me: small indentation fix (use spaces rather than tabs in all lines
in that routine).
svn path=/trunk/; revision=36591
|
|
In the end-of-stream code, when we're checking the CRC and length, don't
check the CRC or length if we failed to read them, and don't check the
length if the CRC is bad.
We define O_BINARY as 0 on UN*X in <wsutil/file_util.h>, so we don't
need to avoid using it on UN*X.
In file_gets(), check for delayed errors.
svn path=/trunk/; revision=36590
|
|
svn path=/trunk/; revision=36584
|
|
call file_error() to fetch any deferred error, so we report an error
rather than an "everything's OK" EOF.
svn path=/trunk/; revision=36578
|
|
zran.c example in the zlib source.
This means that problems in the file's contents might not be reported
when a packet is read, as long as there's no problem in the contents of
the file up to the last bit of compressed data for the packet; we now
check for errors after finishing the sequential read of the file, at
least in some programs, so that shouldn't be an issue (the other
programs need to be changed to do so as well). This is necessary in
order to be able to read all the packets we saw in the sequential pass;
it also lets us get a few more packets from truncated files in some
cases.
svn path=/trunk/; revision=36577
|
|
may happen if, when reading a compressed file, we find an error in the
file's contents past the last packet (e.g., the file being cut short so
that we can't get a full buffer worth of compressed data), and that
reporting of that error is delayed (so that you can get all of the
packets that we *can* decompress). Check for those errors, at least on
the sequential read pass (the only errors we should see when closing the
random stream are errors we've already seen in the sequential stream).
svn path=/trunk/; revision=36576
|
|
can't be saved in compress form" are both equivalent to "this file file
format requires seeking when writing it". Change the "can compress"
Boolean in the file format table to "writing requires seeking", give all
the entries the proper value, and do the checks for attempting to write
a file format to a pipe or write it in compressed format to common code.
This means we don't need to pass the "can't seek" flag to the dump open
routines.
svn path=/trunk/; revision=36575
|
|
Update or remove some additional "we don't have ferror() in zlib"
comments to reflect the current reality.
svn path=/trunk/; revision=36568
|
|
and the routines we're now using guarantee that an error has occured in
that case).
svn path=/trunk/; revision=36567
|
|
this frees us from worrying about zlib large file issues on the write
side, and also lets us clean up a few other things.
svn path=/trunk/; revision=36563
|
|
Declare ws_stdio_stat64, as that's its new name.
svn path=/trunk/; revision=36549
|
|
as an argument, along the lines of ws_fstat64, and, on Windows, make it
use _wstati64, to handle 64-bit file sizes.
svn path=/trunk/; revision=36547
|
|
64-bit-file-size-capable stat call, and use it for ws_fstat64().
svn path=/trunk/; revision=36545
|
|
Use it in some places where we're getting the file size.
svn path=/trunk/; revision=36544
|
|
support it.
Rename ws_lseek to ws_lseek64, as it should be given a 64-bit offset,
and have it use _lseeki64 on Windows, to try to get 64-bit offset
support; AC_SYS_LARGEFILE should cause lseek() to support 64-bit offsets
on UN*X if possible.
svn path=/trunk/; revision=36542
|
|
Point to pages for some other compressed file formats we might want to
support.
svn path=/trunk/; revision=36539
|
|
wiretap/file_wrappers.c; nothing outside of file_wrappers.c needs to
know what it looks like, it just passes around pointers to it.
svn path=/trunk/; revision=36538
|
|
calls that use it, cast it to whatever it's supposed to be. Making it a
gzFile means you can't use any stdio macros that reach inside the
structure; making it a FILE *, as it used to be, amounts to trying to
use a FILE * as a void * if we're writing a compressed file out.
svn path=/trunk/; revision=36521
|
|
svn path=/trunk/; revision=36517
|
|
unsigned int - to match file_read(). Shrink some arguments, variables,
and structure members appropriately.
Fix an incorrect sizeof - sizeof a pointer is the size of the pointer,
not the size of what it points to.
svn path=/trunk/; revision=36515
|
|
ws_lseek() to the appropriate type for the second argument to _lseek()
for Windows or lseek() for UN*X; ultimately, we want to call the
appropriate 64-bit-offset seek routine if available, otherwise cast the
value down and hand it to the 32-bit-offset seek routine.
svn path=/trunk/; revision=36514
|
|
Steal file_wrappers functions from zlib v2.
svn path=/trunk/; revision=36513
|
|
help squelch Coverity CIDs 701-709.
svn path=/trunk/; revision=36511
|
|
Introduce file_clearerr
I'm unsure of this patch,
gzclearerr() is used to clear the end-of-file mark, but for FILE
there's function which do the same (clearerr).
I created test program if clearerr() is needed for tailing file.
and it seems to work without it (at least on Linux, so for
!HAVE_LIBZ I commented it out).
For now this patch introduce file_clearerr macro, and define it
only when EOF marking must be cleared (i.e. when HAVE_LIBZ and
HAVE_GZCLEARERR are defined).
So everything works like before, patch just to keep same prefix
for file interface :)
svn path=/trunk/; revision=36510
|
|
file-wrappers.[ch] is used only for reading files, and mode is always
"rb".
Attached patch removes 'mode' argument from file_open() & filed_open().
svn path=/trunk/; revision=36493
|
|
svn path=/trunk/; revision=36492
|
|
file_read(buf, bsize, count, file) macro is compilant with fread
function and takes elements count+ size of each element, however to make
it compilant with gzread() it always returns number of bytes.
In wiretap file_read() this is not really used, file_read is called
either with bsize set to 1 or count to 1.
Attached patch remove bsize argument from macro.
svn path=/trunk/; revision=36491
|
|
svn path=/trunk/; revision=36425
|
|
svn path=/trunk/; revision=36422
|
|
Coverity 789-790.
Since we've been keeping track of how many bytes we put in the buffer,
use that value instead of calling strlen() find it again.
Also, some white space/indentation cleanup.
svn path=/trunk/; revision=36397
|
|
Coverity 791-794.
Also, some white space/indentation cleanup.
svn path=/trunk/; revision=36394
|
|
svn path=/trunk/; revision=36384
|
|
svn path=/trunk/; revision=36376
|