summaryrefslogtreecommitdiff
path: root/wiretap/mp2t.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2014-10-09 16:44:15 -0700
committerGuy Harris <guy@alum.mit.edu>2014-10-09 23:45:30 +0000
commit45e462985db891248ffcb9db21e6b66733de0b84 (patch)
tree90d031f9769c07abaea83330a58dd9d3933eb7b1 /wiretap/mp2t.c
parent112c90a04b778958985b02b9663743cea1039f47 (diff)
downloadwireshark-45e462985db891248ffcb9db21e6b66733de0b84.tar.gz
Use an enum for the open-routine return value, as per Evan Huus's suggestion.
Clean up some things we ran across while making those changes. Change-Id: Ic0d8943d36e6e120d7af0a6148fad98015d1e83e Reviewed-on: https://code.wireshark.org/review/4581 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'wiretap/mp2t.c')
-rw-r--r--wiretap/mp2t.c27
1 files changed, 12 insertions, 15 deletions
diff --git a/wiretap/mp2t.c b/wiretap/mp2t.c
index 72e566c0d6..da82a2c809 100644
--- a/wiretap/mp2t.c
+++ b/wiretap/mp2t.c
@@ -140,7 +140,7 @@ mp2t_seek_read(wtap *wth, gint64 seek_off, struct wtap_pkthdr *phdr,
return TRUE;
}
-int
+wtap_open_return_val
mp2t_open(wtap *wth, int *err, gchar **err_info)
{
guint8 buffer[MP2T_SIZE+TRAILER_LEN_MAX];
@@ -153,8 +153,8 @@ mp2t_open(wtap *wth, int *err, gchar **err_info)
if (!wtap_read_bytes(wth->fh, buffer, MP2T_SIZE, err, err_info)) {
if (*err != WTAP_ERR_SHORT_READ)
- return -1;
- return 0;
+ return WTAP_OPEN_ERROR;
+ return WTAP_OPEN_NOT_MINE;
}
first = -1;
@@ -165,18 +165,18 @@ mp2t_open(wtap *wth, int *err, gchar **err_info)
}
}
if (-1 == first) {
- return 0; /* wrong file type - not an mpeg2 ts file */
+ return WTAP_OPEN_NOT_MINE; /* wrong file type - not an mpeg2 ts file */
}
if (-1 == file_seek(wth->fh, first, SEEK_SET, err)) {
- return -1;
+ return WTAP_OPEN_ERROR;
}
/* read some packets and make sure they all start with a sync byte */
do {
if (!wtap_read_bytes(wth->fh, buffer, MP2T_SIZE+trailer_len, err, err_info)) {
if (*err != WTAP_ERR_SHORT_READ)
- return -1; /* read error */
- if(sync_steps<2) return 0; /* wrong file type - not an mpeg2 ts file */
+ return WTAP_OPEN_ERROR; /* read error */
+ if(sync_steps<2) return WTAP_OPEN_NOT_MINE; /* wrong file type - not an mpeg2 ts file */
break; /* end of file, that's ok if we're still in sync */
}
if (buffer[0] == MP2T_SYNC_BYTE) {
@@ -189,14 +189,14 @@ mp2t_open(wtap *wth, int *err, gchar **err_info)
/* if we've already detected a trailer field, we must remain in sync
another mismatch means we have no mpeg2 ts file */
if (trailer_len>0)
- return 0;
+ return WTAP_OPEN_NOT_MINE;
/* check if a trailer is appended to the packet */
for (i=0; i<TRAILER_LEN_MAX; i++) {
if (buffer[i] == MP2T_SYNC_BYTE) {
trailer_len = i;
if (-1 == file_seek(wth->fh, first, SEEK_SET, err)) {
- return -1;
+ return WTAP_OPEN_ERROR;
}
sync_steps = 0;
break;
@@ -204,12 +204,12 @@ mp2t_open(wtap *wth, int *err, gchar **err_info)
}
/* no sync byte found in the vicinity, this is no mpeg2 ts file */
if (i==TRAILER_LEN_MAX)
- return 0;
+ return WTAP_OPEN_NOT_MINE;
}
} while (sync_steps < SYNC_STEPS);
if (-1 == file_seek(wth->fh, first, SEEK_SET, err)) {
- return -1;
+ return WTAP_OPEN_ERROR;
}
wth->file_type_subtype = WTAP_FILE_TYPE_SUBTYPE_MPEG_2_TS;
@@ -220,13 +220,10 @@ mp2t_open(wtap *wth, int *err, gchar **err_info)
wth->snapshot_length = 0;
mp2t = (mp2t_filetype_t*) g_malloc(sizeof(mp2t_filetype_t));
- if (NULL == mp2t) {
- return -1;
- }
wth->priv = mp2t;
mp2t->start_offset = first;
mp2t->trailer_len = trailer_len;
- return 1;
+ return WTAP_OPEN_MINE;
}