diff options
author | Gilbert Ramirez <gram@alumni.rice.edu> | 1998-12-31 20:36:43 +0000 |
---|---|---|
committer | Gilbert Ramirez <gram@alumni.rice.edu> | 1998-12-31 20:36:43 +0000 |
commit | 274f87319db5724965e260a626bc4b97340127d6 (patch) | |
tree | 14718a4115c0b2aacf50626269e6b4ee70c9a014 /packet-ipx.c | |
parent | cb1f8e34c5b0a812a3ae7abfbd8956d39b88d456 (diff) | |
download | wireshark-274f87319db5724965e260a626bc4b97340127d6.tar.gz wireshark-274f87319db5724965e260a626bc4b97340127d6.tar.bz2 wireshark-274f87319db5724965e260a626bc4b97340127d6.zip |
Be smarter about IPX port numbers and which function to call.
svn path=/trunk/; revision=143
Diffstat (limited to 'packet-ipx.c')
-rw-r--r-- | packet-ipx.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/packet-ipx.c b/packet-ipx.c index 7fb4139fca..7f14f73e1e 100644 --- a/packet-ipx.c +++ b/packet-ipx.c @@ -2,7 +2,7 @@ * Routines for NetWare's IPX * Gilbert Ramirez <gram@verdict.uthscsa.edu> * - * $Id: packet-ipx.c,v 1.13 1998/11/17 04:28:55 gerald Exp $ + * $Id: packet-ipx.c,v 1.14 1998/12/31 20:36:43 gram Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@unicom.net> @@ -116,7 +116,7 @@ port_func(guint16 port) { } i++; } - return dissect_data; + return NULL; } char * @@ -174,6 +174,7 @@ dissect_ipx(const u_char *pd, int offset, frame_data *fd, GtkTree *tree) { dnet = ipxnet_to_string((guint8*)&pd[offset+6]); snet = ipxnet_to_string((guint8*)&pd[offset+18]); dsocket = pntohs(&pd[offset+16]); + ssocket = pntohs(&pd[offset+28]); if (check_col(fd, COL_PROTOCOL)) col_add_str(fd, COL_PROTOCOL, "IPX"); @@ -206,7 +207,6 @@ dissect_ipx(const u_char *pd, int offset, frame_data *fd, GtkTree *tree) { snet); add_item_to_tree(ipx_tree, offset+22, 6, "Source Node: %s", ether_to_str((guint8*)&pd[offset+22])); - ssocket = pntohs(&pd[offset+28]); add_item_to_tree(ipx_tree, offset+28, 2, "Source Socket: %s (0x%04X)", port_text(ssocket), ssocket); } @@ -235,7 +235,13 @@ dissect_ipx(const u_char *pd, int offset, frame_data *fd, GtkTree *tree) { dissect(pd, offset, fd, tree); } else { - dissect_data(pd, offset, fd, tree); + dissect = port_func(ssocket); + if (dissect) { + dissect(pd, offset, fd, tree); + } + else { + dissect_data(pd, offset, fd, tree); + } } break; } |