aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/snoop.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>1999-10-05 07:06:08 +0000
committerGuy Harris <guy@alum.mit.edu>1999-10-05 07:06:08 +0000
commit5f7868c7e039265d585f79952d1cd1867ab5cf1e (patch)
treefc21365a3ed0d03130e733c2c10a8abe4aa946a2 /wiretap/snoop.c
parent03b75d6279db74fd3fd175cb572ea9340e452b65 (diff)
Better handle errors from zlib:
Assign a range of Wiretap errors for zlib errors, and have "wtap_strerror()" use "zError()" to get an error message for them. Have the internal "file_error()" routine return 0 for no error and a Wiretap error code for an error. svn path=/trunk/; revision=769
Diffstat (limited to 'wiretap/snoop.c')
-rw-r--r--wiretap/snoop.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/wiretap/snoop.c b/wiretap/snoop.c
index 187721a1f0..479baf809e 100644
--- a/wiretap/snoop.c
+++ b/wiretap/snoop.c
@@ -1,6 +1,6 @@
/* snoop.c
*
- * $Id: snoop.c,v 1.13 1999/09/28 01:19:01 guy Exp $
+ * $Id: snoop.c,v 1.14 1999/10/05 07:06:07 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@verdict.uthscsa.edu>
@@ -82,10 +82,9 @@ int snoop_open(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(magic, 1, sizeof magic, wth->fh);
if (bytes_read != sizeof magic) {
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0)
return -1;
- }
return 0;
}
wth->data_offset += sizeof magic;
@@ -98,10 +97,9 @@ int snoop_open(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(&hdr, 1, sizeof hdr, wth->fh);
if (bytes_read != sizeof hdr) {
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0)
return -1;
- }
return 0;
}
wth->data_offset += sizeof hdr;
@@ -145,10 +143,9 @@ static int snoop_read(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(&hdr, 1, sizeof hdr, wth->fh);
if (bytes_read != sizeof hdr) {
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0)
return -1;
- }
if (bytes_read != 0) {
*err = WTAP_ERR_SHORT_READ;
return -1;
@@ -175,9 +172,8 @@ static int snoop_read(wtap *wth, int *err)
packet_size, wth->fh);
if (bytes_read != packet_size) {
- if (file_error(wth->fh))
- *err = errno;
- else
+ *err = file_error(wth->fh);
+ if (*err == 0)
*err = WTAP_ERR_SHORT_READ;
return -1;
}
@@ -204,9 +200,8 @@ static int snoop_read(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(padbuf, 1, bytes_to_read, wth->fh);
if (bytes_read != bytes_to_read) {
- if (file_error(wth->fh))
- *err = errno;
- else
+ *err = file_error(wth->fh);
+ if (*err == 0)
*err = WTAP_ERR_SHORT_READ;
return -1;
}