From 62b03da49a3e6c32f788da375faea2ca47fa2aa9 Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Fri, 27 Nov 2015 11:34:51 +0100 Subject: Fix display of bytes as EBCDIC MSVC compiler does not support properly setting an enum being part of a bit field. For example the following code: pinfo->fd->flags.encoding = PACKET_CHAR_ENC_CHAR_EBCDIC; changes pinfo->fd->flags.encoding from 0x0 to 0xfffffffe instead of 0x1 Let's put back an unsigned int definition (like it is in master-1.12 branch) and add explicit casts where required Bug: 11787 Change-Id: Idae0140fb6c172f1b3dbf10baefc8cfb00128f4c Reviewed-on: https://code.wireshark.org/review/12220 Petri-Dish: Pascal Quantin Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin --- epan/frame_data.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'epan/frame_data.h') 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 */ -- cgit v1.2.3