aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-isl.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-isl.c')
-rw-r--r--epan/dissectors/packet-isl.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/epan/dissectors/packet-isl.c b/epan/dissectors/packet-isl.c
index e3a34eab16..830cb4ada7 100644
--- a/epan/dissectors/packet-isl.c
+++ b/epan/dissectors/packet-isl.c
@@ -88,15 +88,13 @@ static dissector_handle_t eth_withfcs_handle;
static dissector_handle_t tr_handle;
static dissector_handle_t data_handle;
-void
+gboolean
capture_isl(const guchar *pd, int offset, int len, packet_counts *ld, const union wtap_pseudo_header *pseudo_header _U_)
{
guint8 type;
- if (!BYTES_ARE_IN_FRAME(offset, len, ISL_HEADER_SIZE)) {
- ld->other++;
- return;
- }
+ if (!BYTES_ARE_IN_FRAME(offset, len, ISL_HEADER_SIZE))
+ return FALSE;
type = (pd[offset+5] >> 4)&0x0F;
@@ -104,18 +102,15 @@ capture_isl(const guchar *pd, int offset, int len, packet_counts *ld, const unio
case TYPE_ETHER:
offset += 14+12; /* skip the header */
- capture_eth(pd, offset, len, ld, pseudo_header);
- break;
+ return capture_eth(pd, offset, len, ld, pseudo_header);
case TYPE_TR:
offset += 14+17; /* skip the header */
- capture_tr(pd, offset, len, ld, pseudo_header);
- break;
-
- default:
- ld->other++;
+ return capture_tr(pd, offset, len, ld, pseudo_header);
break;
}
+
+ return FALSE;
}
static const value_string type_vals[] = {