aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/radcom.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/radcom.c')
-rw-r--r--wiretap/radcom.c41
1 files changed, 17 insertions, 24 deletions
diff --git a/wiretap/radcom.c b/wiretap/radcom.c
index 6fac1bf283..9787fff8fc 100644
--- a/wiretap/radcom.c
+++ b/wiretap/radcom.c
@@ -1,6 +1,6 @@
/* radcom.c
*
- * $Id: radcom.c,v 1.12 1999/09/24 05:49:52 guy Exp $
+ * $Id: radcom.c,v 1.13 1999/10/05 07:06:07 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@verdict.uthscsa.edu>
@@ -85,10 +85,9 @@ int radcom_open(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(magic, 1, 8, wth->fh);
if (bytes_read != 8) {
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0)
return -1;
- }
return 0;
}
@@ -101,10 +100,9 @@ int radcom_open(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(&byte, 1, 1, wth->fh);
if (bytes_read != 1) {
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0)
return -1;
- }
return 0;
}
wth->data_offset += 1;
@@ -112,10 +110,9 @@ int radcom_open(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(&byte, 1, 1, wth->fh);
if (bytes_read != 1) {
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0)
return -1;
- }
return 0;
}
wth->data_offset += 1;
@@ -127,10 +124,9 @@ int radcom_open(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(&start_date, 1, sizeof(struct frame_date), wth->fh);
if (bytes_read != sizeof(struct frame_date)) {
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0)
return -1;
- }
return 0;
}
wth->data_offset += sizeof(struct frame_date);
@@ -215,8 +211,8 @@ int radcom_open(wtap *wth, int *err)
return 1;
read_error:
- if (file_error(wth->fh)) {
- *err = errno;
+ *err = file_error(wth->fh);
+ if (*err != 0) {
free(wth->capture.radcom);
return -1;
}
@@ -239,10 +235,9 @@ static int radcom_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;
@@ -281,9 +276,8 @@ static int radcom_read(wtap *wth, int *err)
length, wth->fh);
if (bytes_read != length) {
- if (file_error(wth->fh))
- *err = errno;
- else
+ *err = file_error(wth->fh);
+ if (*err == 0)
*err = WTAP_ERR_SHORT_READ;
return -1;
}
@@ -297,9 +291,8 @@ static int radcom_read(wtap *wth, int *err)
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(&fcs, 1, sizeof fcs, wth->fh);
if (bytes_read != sizeof fcs) {
- if (file_error(wth->fh))
- *err = errno;
- else
+ *err = file_error(wth->fh);
+ if (*err == 0)
*err = WTAP_ERR_SHORT_READ;
return -1;
}