diff options
author | Gilbert Ramirez <gram@alumni.rice.edu> | 2014-01-30 09:43:52 -0800 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2014-02-03 09:26:10 +0000 |
commit | 4cc694839d45d767f4880988da3b88389774b5db (patch) | |
tree | 40905d9cf9345c56314cdfdfd04a65c6e25764df /epan/dissectors/packet-time.c | |
parent | 479d27c69e46add652acbdd321fd3f88cfb50900 (diff) |
Fix all -fstrict-alias warnings found by gcc 4.1.2
The majority of the fixes are for calls to uat_new(). Instead of
having each caller cast its private data to (void**), we use void*
in the uat_new() API itself. Inside uat_new(), we cast the void*
to void**.
Some dissectors use val64_string arrays, so a VALS64() macro was
added for those, to avoid using VALS(), which is useful only for
value_string arrays.
packet-mq.c was changed because dissect_nt_sid() requires
a char**, not a guint**. All other callers of dissect_nt_sid() use
char*'s (and take the address of it) for their local storage. So,
this was changed to follow the other practices.
A confusion between gint and absolute_time_display_e in packet-time.c
was cleared up.
The ugliest fix is the addition of ip6_guint8_to_str(), for exactly
one caller. The caller uses one type of ip6 address byte array,
while ip6_to_str() expects another. This new function is in place
until the various address implementations can be consolidated.
Add VALS64() to the developer documentation.
Change-Id: If93ff5c6c8c7cc3c9510d7fb78fa9108e4552805
Reviewed-on: https://code.wireshark.org/review/48
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-time.c')
-rw-r--r-- | epan/dissectors/packet-time.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/epan/dissectors/packet-time.c b/epan/dissectors/packet-time.c index 68cd241622..373ed50cd7 100644 --- a/epan/dissectors/packet-time.c +++ b/epan/dissectors/packet-time.c @@ -45,7 +45,13 @@ static int proto_time = -1; static int hf_time_time = -1; static gint ett_time = -1; -static absolute_time_display_e time_display_type = ABSOLUTE_TIME_LOCAL; +/* Instead of using absolute_time_display_e as the type for + * time_display_type, we use gint to avoid a type-punning problem + * with prefs_register_enum_preference(). This variable is also + * used with abs_time_secs_to_ep_str(), which _does_ take + * an absolute_time_display_e, but gcc doesn't complain about + * casting the gint to absolute_time_display_e */ +static gint time_display_type = ABSOLUTE_TIME_LOCAL; /* This dissector works for TCP and UDP time packets */ #define TIME_PORT 37 |