aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
Diffstat (limited to 'epan')
-rw-r--r--epan/frame_data.h3
-rw-r--r--epan/print.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/epan/frame_data.h b/epan/frame_data.h
index b47093e3de..ef859d9818 100644
--- a/epan/frame_data.h
+++ b/epan/frame_data.h
@@ -75,7 +75,8 @@ typedef struct _frame_data {
struct {
unsigned int passed_dfilter : 1; /**< 1 = display, 0 = no display */
unsigned int dependent_of_displayed : 1; /**< 1 if a displayed frame depends on this frame */
- packet_char_enc encoding : 1; /**< Character encoding (ASCII, EBCDIC...) */
+ /* Do NOT use packet_char_enc enum here: MSVC compiler does not handle an enum in a bit field properly */
+ unsigned int encoding : 1; /**< Character encoding (ASCII, EBCDIC...) */
unsigned int visited : 1; /**< Has this packet been visited yet? 1=Yes,0=No*/
unsigned int marked : 1; /**< 1 = marked by user, 0 = normal */
unsigned int ref_time : 1; /**< 1 = marked as a reference time frame, 0 = normal */
diff --git a/epan/print.c b/epan/print.c
index 8ab50e39d0..5e25ed50bc 100644
--- a/epan/print.c
+++ b/epan/print.c
@@ -122,7 +122,7 @@ proto_tree_print(print_args_t *print_args, epan_dissect_t *edt,
data.stream = stream;
data.success = TRUE;
data.src_list = edt->pi.data_src;
- data.encoding = edt->pi.fd->flags.encoding;
+ data.encoding = (packet_char_enc)edt->pi.fd->flags.encoding;
data.print_dissections = print_args->print_dissections;
/* If we're printing the entire packet in hex, don't
print uninterpreted data fields in hex as well. */
@@ -902,7 +902,7 @@ print_hex_data(print_stream_t *stream, epan_dissect_t *edt)
return TRUE;
cp = tvb_get_ptr(tvb, 0, length);
if (!print_hex_data_buffer(stream, cp, length,
- edt->pi.fd->flags.encoding))
+ (packet_char_enc)edt->pi.fd->flags.encoding))
return FALSE;
}
return TRUE;