diff options
author | Artur Nowosielski <artnowo@gmail.com> | 2015-05-29 01:13:34 +0200 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-05-29 00:22:52 +0000 |
commit | 7e3d4f6eb8fc2bc32176a35a6a4475d069dc2293 (patch) | |
tree | 3c9d86f121f53f9feb27731298730e77f8f704a7 /epan/dissectors/packet-giop.c | |
parent | 61cef23486d84da0b53107d35d641f15265bef3f (diff) |
enabled decoding of longlong and ulonglong in GIOP
Change-Id: I21323ab6c44583494c4353650caea0d23ef3f30c
Reviewed-on: https://code.wireshark.org/review/8679
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-giop.c')
-rw-r--r-- | epan/dissectors/packet-giop.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/epan/dissectors/packet-giop.c b/epan/dissectors/packet-giop.c index 068532120f..1fdfa9cfc1 100644 --- a/epan/dissectors/packet-giop.c +++ b/epan/dissectors/packet-giop.c @@ -396,6 +396,8 @@ static int hf_giop_type_double = -1; static int hf_giop_type_enum = -1; static int hf_giop_type_float = -1; static int hf_giop_type_long = -1; +static int hf_giop_type_longlong = -1; +static int hf_giop_type_ulonglong = -1; static int hf_giop_type_octet = -1; static int hf_giop_type_short = -1; static int hf_giop_type_string = -1; @@ -2183,6 +2185,9 @@ static void dissect_data_for_typecode(tvbuff_t *tvb, packet_info *pinfo, proto_t gint32 s_octet4; /* signed int32 */ guint32 u_octet4; /* unsigned int32 */ + gint64 s_octet8; /* signed int64 */ + guint64 u_octet8; /* unsigned int64 */ + gdouble my_double; /* double */ gfloat my_float; /* float */ @@ -2269,8 +2274,12 @@ static void dissect_data_for_typecode(tvbuff_t *tvb, packet_info *pinfo, proto_t case tk_except: break; case tk_longlong: + s_octet8 = get_CDR_long_long(tvb, offset, stream_is_big_endian, boundary); + proto_tree_add_int64(tree, hf_giop_type_longlong, tvb, *offset-8, 8, s_octet8); break; case tk_ulonglong: + u_octet8 = get_CDR_ulong_long(tvb, offset, stream_is_big_endian, boundary); + proto_tree_add_uint64(tree, hf_giop_type_ulonglong, tvb, *offset-8, 8, u_octet8); break; case tk_longdouble: break; @@ -5306,6 +5315,16 @@ proto_register_giop (void) FT_INT32, BASE_DEC, NULL, 0x0, NULL, HFILL } }, + { &hf_giop_type_longlong, + { "TypeCode longlong data", "giop.tclonglongdata", + FT_INT64, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + + { &hf_giop_type_ulonglong, + { "TypeCode ulonglong data", "giop.tculonglongdata", + FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL } + }, + { &hf_giop_type_octet, { "TypeCode octet data", "giop.tcoctet", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL } |