aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/network_instruments.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2019-04-04 18:56:27 -0700
committerGuy Harris <guy@alum.mit.edu>2019-04-05 02:49:43 +0000
commit8a5b26efb14b7f8f5375383436f03108d52d9aed (patch)
treeeb57791fc53deab1c618b259e11092f122a8ee97 /wiretap/network_instruments.c
parentb572b65e518937f43b630991c07369d8e0c79f53 (diff)
Have wtap_read() fill in a wtap_rec and Buffer.
That makes it - and the routines that implement it - work more like the seek-read routine. Change-Id: I0cace2d0e4c9ebfc21ac98fd1af1ec70f60a240d Reviewed-on: https://code.wireshark.org/review/32727 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'wiretap/network_instruments.c')
-rw-r--r--wiretap/network_instruments.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/wiretap/network_instruments.c b/wiretap/network_instruments.c
index 949e7b3a4f..51680b7ba7 100644
--- a/wiretap/network_instruments.c
+++ b/wiretap/network_instruments.c
@@ -98,8 +98,8 @@ static const char *init_gmt_to_localtime_offset(void)
return NULL;
}
-static gboolean observer_read(wtap *wth, int *err, gchar **err_info,
- gint64 *data_offset);
+static gboolean observer_read(wtap *wth, wtap_rec *rec, Buffer *buf,
+ int *err, gchar **err_info, gint64 *data_offset);
static gboolean observer_seek_read(wtap *wth, gint64 seek_off,
wtap_rec *rec, Buffer *buf, int *err, gchar **err_info);
static int read_packet_header(wtap *wth, FILE_T fh, union wtap_pseudo_header *pseudo_header,
@@ -315,8 +315,8 @@ wtap_open_return_val network_instruments_open(wtap *wth, int *err, gchar **err_i
}
/* Reads the next packet. */
-static gboolean observer_read(wtap *wth, int *err, gchar **err_info,
- gint64 *data_offset)
+static gboolean observer_read(wtap *wth, wtap_rec *rec, Buffer *buf,
+ int *err, gchar **err_info, gint64 *data_offset)
{
int header_bytes_consumed;
int data_bytes_consumed;
@@ -327,7 +327,7 @@ static gboolean observer_read(wtap *wth, int *err, gchar **err_info,
*data_offset = file_tell(wth->fh);
/* process the packet header, including TLVs */
- header_bytes_consumed = read_packet_header(wth, wth->fh, &wth->rec.rec_header.packet_header.pseudo_header, &packet_header, err,
+ header_bytes_consumed = read_packet_header(wth, wth->fh, &rec->rec_header.packet_header.pseudo_header, &packet_header, err,
err_info);
if (header_bytes_consumed <= 0)
return FALSE; /* EOF or error */
@@ -342,13 +342,13 @@ static gboolean observer_read(wtap *wth, int *err, gchar **err_info,
}
}
- if (!process_packet_header(wth, &packet_header, &wth->rec, err, err_info))
+ if (!process_packet_header(wth, &packet_header, rec, err, err_info))
return FALSE;
/* read the frame data */
data_bytes_consumed = read_packet_data(wth->fh, packet_header.offset_to_frame,
- header_bytes_consumed, wth->rec_data,
- wth->rec.rec_header.packet_header.caplen, err, err_info);
+ header_bytes_consumed, buf, rec->rec_header.packet_header.caplen,
+ err, err_info);
if (data_bytes_consumed < 0) {
return FALSE;
}