aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/netmon.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/netmon.c')
-rw-r--r--wiretap/netmon.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/wiretap/netmon.c b/wiretap/netmon.c
index c2e7a30aca..5c7188b7fe 100644
--- a/wiretap/netmon.c
+++ b/wiretap/netmon.c
@@ -1,6 +1,6 @@
/* netmon.c
*
- * $Id: netmon.c,v 1.49 2002/03/04 00:25:35 guy Exp $
+ * $Id: netmon.c,v 1.50 2002/03/05 05:58:40 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -108,7 +108,7 @@ struct netmon_atm_hdr {
static gboolean netmon_read(wtap *wth, int *err, long *data_offset);
static int netmon_seek_read(wtap *wth, long seek_off,
- union wtap_pseudo_header *pseudo_header, u_char *pd, int length);
+ union wtap_pseudo_header *pseudo_header, u_char *pd, int length, int *err);
static int netmon_read_atm_pseudoheader(FILE_T fh,
union wtap_pseudo_header *pseudo_header, int *err);
static int netmon_read_rec_data(FILE_T fh, u_char *pd, int length, int *err);
@@ -447,16 +447,18 @@ static gboolean netmon_read(wtap *wth, int *err, long *data_offset)
static int
netmon_seek_read(wtap *wth, long seek_off,
- union wtap_pseudo_header *pseudo_header, u_char *pd, int length)
+ union wtap_pseudo_header *pseudo_header, u_char *pd, int length, int *err)
{
int ret;
- int err; /* XXX - return this */
- file_seek(wth->random_fh, seek_off, SEEK_SET);
+ if (file_seek(wth->random_fh, seek_off, SEEK_SET) == -1) {
+ *err = file_error(wth->random_fh);
+ return -1;
+ }
if (wth->file_encap == WTAP_ENCAP_ATM_SNIFFER) {
ret = netmon_read_atm_pseudoheader(wth->random_fh, pseudo_header,
- &err);
+ err);
if (ret < 0) {
/* Read error */
return ret;
@@ -466,7 +468,7 @@ netmon_seek_read(wtap *wth, long seek_off,
/*
* Read the packet data.
*/
- return netmon_read_rec_data(wth->random_fh, pd, length, &err);
+ return netmon_read_rec_data(wth->random_fh, pd, length, err);
}
static int