Create the wmem_map using g_int64_equal instead of g_direct_equal and wmem_int64_hash instead of g_direct_hash. Create a wmem_file_scope() copy of the key, and pass the resulting pointer to the insert function.
Evan On Mon, Feb 16, 2015 at 9:31 AM, Richard Sharpe <[email protected]> wrote: > Hi, > > Guy has identified a problem with my handling of SCSI dissection in > the RSVD dissector. > > I am using a 64-bit value as the key for a wmem_map_insert and this > will not work on 32-bit systems. > > Having looked at the key values some more what it seems that Windows > is doing here is taking a 32-bit thread-ID and a 32-bit SCSI request > number and concatenating them. The one capture I have shows that I > cannot simply use either half of the 32-bit value. > > Perhaps I need to hash the two halves into a 32-bit value. > > Does anyone have a suggestion? > > -- > Regards, > Richard Sharpe > (何以解憂?唯有杜康。--曹操) > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <[email protected]> > Archives: http://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev > mailto:[email protected]?subject=unsubscribe ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
