file_seek() used to be a wrapper around fseek() or gzseek(), both of
authorGuy Harris <guy@alum.mit.edu>
Fri, 4 May 2012 16:56:18 +0000 (16:56 -0000)
committerGuy Harris <guy@alum.mit.edu>
Fri, 4 May 2012 16:56:18 +0000 (16:56 -0000)
commit33bb54a9452f4be53377a185195a63194016241a
tree9308829e2105b6e51e0dc5cc0af2295d8d97a0a3
parentf65cb5f27bab6310e847f88cd763eb08bff1c93b
file_seek() used to be a wrapper around fseek() or gzseek(), both of
which could use lseek() and were thus expensive due to system call
overhead.  To avoid making a system call for every packet on a
sequential read, we maintained a data_offset field in the wtap structure
for sequential reads.

It's now a routine that just returns information from the FILE_T data
structure, so it's cheap.  Use it, rather than maintaining the data_offset
field.

Readers for some file formats need to maintain file offset themselves;
have them do so in their private data structures.

svn path=/trunk/; revision=42423
45 files changed:
wiretap/5views.c
wiretap/aethra.c
wiretap/airopeek9.c
wiretap/ascendtext.c
wiretap/ber.c
wiretap/btsnoop.c
wiretap/catapult_dct2000.c
wiretap/commview.c
wiretap/cosine.c
wiretap/csids.c
wiretap/daintree-sna.c
wiretap/dbs-etherwatch.c
wiretap/dct3trace.c
wiretap/erf.c
wiretap/etherpeek.c
wiretap/eyesdn.c
wiretap/file_access.c
wiretap/hcidump.c
wiretap/i4btrace.c
wiretap/ipfix.c
wiretap/iptrace.c
wiretap/iseries.c
wiretap/k12.c
wiretap/k12text.l
wiretap/lanalyzer.c
wiretap/libpcap.c
wiretap/mime_file.c
wiretap/mpeg.c
wiretap/netmon.c
wiretap/netscaler.c
wiretap/netscreen.c
wiretap/nettl.c
wiretap/network_instruments.c
wiretap/netxray.c
wiretap/ngsniffer.c
wiretap/packetlogger.c
wiretap/pcapng.c
wiretap/radcom.c
wiretap/snoop.c
wiretap/tnef.c
wiretap/toshiba.c
wiretap/visual.c
wiretap/vms.c
wiretap/vwr.c
wiretap/wtap-int.h